
树链剖分
Chester_King
虽千万人,吾往矣。
展开
-
【BZOJ】4034 [HAOI2015]树上操作 树链剖分
题目传送门这题的题目意思很明确,就是树链剖分。但是,这题需要用到long long,在打lazy标记时需要强转,把int转成long long,我也在这里错了不下15次。博主花了2天来改这道题,并和许多大佬的标程对比,并没有发现任何错误。偶然中改了这个地方,发现程序AC后,当即掀桌子……博主对此表示很难受……附上AC代码:#include #include #inclu原创 2017-05-14 16:58:14 · 295 阅读 · 0 评论 -
【洛谷】3384 【模板】树链剖分
题目传送门这题就是模板的树链剖分,因为题目已经说得很清楚了。树链剖分就是把一棵树分成若干条链的数据结构,当一棵树退化成了一条链时,不管是求LCA还是求两个节点之间的距离都变得十分简单了,树链剖分就是这样降低时间复杂度的。将一棵树剖成了若干条链之后,就可以套用其他的数据结构来维护链上的许多信息,又是降低复杂度。所以,如此分析,树链剖分是一种非常优秀的数据结构。但是,说实话,代码的原创 2017-05-11 20:36:04 · 850 阅读 · 0 评论 -
【BZOJ】2243 [SDOI2011]染色 树链剖分
题目传送门这题嘛,第一眼就是树链剖分的裸题,但是我只会用二进制记录颜色数量……看到这题的颜色范围就傻了……(呆.jpg)因为这题112221112221定义为三段颜色,那么考虑两段线段合并,每段线段记录三个值:最左端颜色、最右端颜色、颜色段数。要得到总线端的颜色段数,只需考虑左边的线段的最右端颜色和右边的线段的最左端颜色是否相同即可。(说得好绕啊,但是其实不绕)在询问的时候,还要考虑一下重链顶端和它原创 2017-12-06 20:27:35 · 216 阅读 · 0 评论 -
【BZOJ】3589 动态树 树链剖分+线段树
题目传送门最近心真的有点浮躁啊……连题目都不想好好看了……于是就把“一条树枝其实就是一个从某个节点到根的路径的一段”看成了“一条树枝其实就是一个从某个节点到根的路径”……wqnmlgb……操作1的K≤5K\le5,那么是不是会想到容斥?对两条路径求交?但是分析一下时间复杂度,O(m×log22n×2k)O(m\times\log_2^2n\times2^k),接近20亿啊……搞毛啊……考虑给每一条路原创 2017-12-26 20:57:23 · 297 阅读 · 0 评论 -
【BZOJ】1036 [ZJOI2008]树的统计Count 树链剖分
题目传送门这题还是树链剖分,并没有什么较大的改动,只是由于先前的手贱,现在打程序谨慎了很多,这一题一次就AC了。这题和上一题相比,只是多了一个树上两点的路径和查询,这一点在洛谷的树链剖分模板就体现了。给定两个节点,每次选取深度较大的一个节点沿着该节点所在的重链向上爬,并用线段树统计答案。当两个节点已经在同一重链上时,再用线段树统计一次两点间的答案就行了。这就是统计两个节点间的所有节原创 2017-05-14 20:08:04 · 302 阅读 · 0 评论