![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
MashiroSky
这个作者很懒,什么都没留下…
展开
-
【poj3237】 Tree
[http://poj.org/problem?id=3237] (题目链接)树链剖分处女题(当然也是模板题),然而这150+行的程序我调了一天,历经艰辛,终于ac。。题意:给出一个n个节点的带权树,要求维护操作:1.求出树上两点之间的边权的最大值;2.更改一条边上的权值;3.将树上两点之间的所有边权取各自的相反数。solution 神奇的树链剖分+线段树维护查询和修改操作。 树链剖分时,我们将原创 2016-07-14 21:59:47 · 434 阅读 · 0 评论 -
【bzoj1036】 ZJOI2008—树的统计Count
http://www.lydsy.com/JudgeOnline/problem.php?id=1036 (题目链接)题意:动态维护树上两点间最大权值和权值和。Solution 裸树链剖分。 这一篇题解并不是本博客的重点。我在找本题的数据生成器的时候发现了一篇神奇的博客。关于如何制造出一棵树的数据,似乎用到了purfer。数据生成器:#include<cstdio>#inclu原创 2016-08-06 19:46:03 · 400 阅读 · 0 评论 -
【uoj150】 NOIP2015—运输计划
http://uoj.ac/problem/150 (题目链接)题意:给出一棵树以及m个询问,可以将树上一条边的权值修改为0,求经过这样的修改之后最长的边最短是多少。Solution 老早就听说过这道题了,好像使用树链剖分。 先树链剖分求出每个询问的路程,最长的最短,可以用二分做。二分最长的边的大小,也就是最后的答案,问题来了,怎么判断这个答案是否可行呢? 我们记录下所有超出当前答原创 2016-09-11 09:20:50 · 889 阅读 · 0 评论 -
【uoj128】 NOI2015—软件包管理器
http://uoj.ac/problem/128 (题目链接)题意:给出一棵树,每个节点代表一个软件包,维护卸载和安装操作。若要卸载节点x,那么必须卸载它的子树上的所有软件包;若要安装节点x必须安装所有它的祖先。每次询问安装或卸载某个软件包一共需要安装或者卸载多少个软件包。Solution 很裸的树链剖分,0表示未安装,1表示已安装。安装操作很好处理对吧,每次对节点x到根节点这条路劲进行查询原创 2016-09-25 21:54:29 · 595 阅读 · 0 评论