树链剖分
wjw1340
这个作者很懒,什么都没留下…
展开
-
SP375 Query on a tree【树链剖分】
题意:给定一棵树,求一条路径上的边权最大值 思路:树链剖分,把一颗树,转化成一个区间,就可以用线段树,快速解决一些问题了 至此用这个模板终于会处理点权问题了,LCA那个dfs序转成链,我不会算点权的 #include #include #include #include #include #include #include #include #include #inc原创 2017-08-30 20:48:14 · 374 阅读 · 0 评论 -
HDU3966 Aragorn's Story【树链剖分】
题意:给定一棵树,有3种操作,增加或减少两个点路径上所有点的值,查询某个点的值 思路:把树剖分成链,剩下的就是一个有laze标记的线段树,点权和边权不同的地方就在qurey函数中while()下面的几行 #include #include #include #include #include #include #include #include #include #incl原创 2017-08-31 09:29:24 · 237 阅读 · 0 评论 -
POJ3237 Tree【树链剖分】
题意:给定一棵树,有3种操作,1.修改某条边,2.给两个点间路径上的边取相反数,3.求两个点间路径上的边权的最大值 思路:树链剖分,求区间最大值,又能取反,那么线段树维护一个最大值和最小值,取反的时候,一段区间的最大值取反 赋给 最小值,最小值取反 赋给 最大值。同时,需要一个laze标记。 #include #include #include #include #includ原创 2017-08-31 19:12:34 · 160 阅读 · 0 评论 -
HYSBZ2243 染色【树链剖分】
题意:给定一棵树,有两种操作,1.问两点之间点的颜色段数量 2.把两点之间点都染成某颜色 思路:颜色段,线段树维护区间左端点和右端点,区间合并的时候,两区间中间的两个点颜色相同,就减1。 树链剖分查询,重链跳转那里,看看当前点 和 跳上去的点颜色是否相同,相同减1。 #include #include #include #include #include #include #原创 2017-09-02 19:35:07 · 165 阅读 · 0 评论