hdu6110(线段树+lca)

news/2024/10/18 16:41:35/

题目

  http://acm.hdu.edu.cn/showproblem.php?pid=6110

分析

  注意到,若干条路径的交一定也是条路径

  我们可以维护一个线段树,seg[l..r]存着第l条~第r条路径的交(用起点和终点表示即可)

  维护的时候就是两个孩子对应的路径求个交作为自己的交

  询问的时候也是讲询问分成若干段,然后逐个合并

  于是我们只要解决两条路径求交的问题就可以了

  设两个lca分别是c1,c2,dep[c1]<=dep[c2]

  设a1与a2的lca为d1,设a1与b2的lca为d2,设b1与a2的lca为d3,设b1与b2的lca为d4

  并设dep[d1]<=dep[d2]<=dep[d3]<=dep[d4]

  画图可以发现,存在路径交的充要条件是dep[d4]>=dep[d3]>=dep[c2]

  路径交就是d4->d3这一段

  时间复杂度是O(nlog^2n)

  如果求lca用rmq来求的话就是O(nlogn)了

  rmq求lca就是求dfs序数列,u,v两点的lca就是dfs序数列中dfstime[u]..dfstime[v]中深度最小的那个位置

  这样查询是O(1)的

转载于:https://www.cnblogs.com/wmrv587/p/7359879.html


http://www.ppmy.cn/news/519716.html

相关文章

EAP(6110)作业系统launchpad之开挂做题

EAP的作业非常多&#xff0c;本文将带领你如何飞一样的直接获取Launchpad上prof布置的题目答案&#xff0c;甚至直接修改成绩&#xff01;希望同学们不要举报我提供这种“作弊”的方法。本文仅供参考学习&#xff0c;大家有时间做还是尽量自己做题吧。 方法一. 针对Exercises …

OpenSSH 安全漏洞(CVE-2019-6111) 欺骗安全漏洞(CVE-2019-6110)欺骗安全漏洞(CVE-2019-6109)解决办法

漏洞情况 如标题三个漏洞未2019年1月26日发布&#xff0c;发现存在该问题的设备使用的是OpenSSH 7.9版本。 三个安全漏洞问题为scp相关问题&#xff0c;出现在openssh-client。 解决办法: 目前发现成功解决该问题的方式是在openssh官网中找到&#xff0c;官网于4月26日发布最…

EC6110M/T-Q21A/C/E-EC6108V9/V9C/V9U/V9A/V9E/V9I/V92/V97-V9C悦me/CA全系列包

华为盒子EC6110M/T-Q21A/C/E-EC6108V9/V9C/V9U/V9A/V9E/V9I/V92/V97-V9C悦me/CA-全系列-卡刷刷机固件&#xff08;当贝桌面&#xff09; 固件说明&#xff1a; 1、采用官方系统核心以及官方内核&#xff0c;确保固件运行无问题&#xff1b; 2、全局精简&#xff0c;保留基…

EC6110M破解第一步 备份固件

前言&#xff1a;装北京移动宽带送了个电视盒子&#xff0c;型号&#xff1a;华为EC6110M。苦于家里没有电视&#xff0c;连接显示器和蓝牙音箱后声音和画面不同步&#xff0c;电视电影实在没法看&#xff0c;于是它就没有了用武之地。前一段时间在搞利用路由器搭建私有网盘&am…

OLED屏--显示问题汇总--清屏函数以及page的列地址

清屏函数&#xff1a; void Oled_Clear() { int i, j;//注意char 是 -128 -- 127&#xff0c;j会越界&#xff0c;有时会出现问题&#xff0c;unsigned char for(i0;i<8;i) { Oled_Write_Cmd(0xB0i);//page0--page7 //每个page从0列开始清…

2023 node 接入腾讯云短信服务,实现发送短信功能

1、在 腾讯云开通短信服务&#xff0c;并申请签名和正文模板 腾讯云短信 https://console.cloud.tencent.com/smsv2 a、签名即是短信的开头。例如 【腾讯云短信】xxxxxxx&#xff1b; b、正文模板即短信内容&#xff0c; 变量部分使用{1}&#xff0c; 数字从1开始累推。例如&a…

51单片机(八)—— 数码管电路介绍

在51单片机关于数码管的实验电路中&#xff0c;采用的硬件是一个八位八段共阴极数码管&#xff0c;通过两个锁存器74HC573来控制。数码管电路的原理图如下图所示。 所谓“八位”指的是数码管上有八个子单元。每个子单元如下图所示。实际上开发板上的八位数码管是由两个四位八段…

数码管显示简单数字

本周学了个数码管&#xff0c;只能进行到一个的地步&#xff0c;感觉锁存器有点难&#xff0c;但单纯编一个管还是简单的 1.数码管原理 八段数码管内部有8颗LED组成&#xff0c;如果想要显示特定字形只需控制相应的LED亮起&#xff0c;其他LED熄灭即可。 2.数码管显示数字或字母…