『应用(折磨)篇』重链剖分

重链剖分学习笔记 by lzy

『从入门到入土』树链剖分学习笔记 by Hoks

Part 2.

P9997 为 CF1045J 的加强版!

目前 99 题。

个人进度 81/99

蒟蒻也要努力成为树剖出锅魔怔人

如果出锅了可以对着查下(虽然可能不是同种锅。

P9808 [POI2022~2023R1] zbo:式子拆开就做完了。

Xenia and Tree:有 4 种做法,当然也可以树剖线段树。

GOT - Gao on a tree:同上题。

[ABC133F] Colorful Tree:同上题,多维护一个每种颜色数量。

Answering Queries on a Tree:同上题,但是因为颜色少直接暴力枚举颜色对每种颜色取 \max 即可。

Santa's Gift:推完式子就又变成上面那个套路了。

Caisa and Tree:类似上面的套路,对每种质因数开线段树即可。

P4947 PION后缀自动机:同上题,对字符串离散化即可。

GSS7 - Can you answer these queries VII:用树剖直接把最大子段和扔到树上。

P7735 [NOI2021] 轻重边:神仙转化后线段树维护方式类似上题。

P5478 [BJOI2015] 骑士的旅行:把 k 个骑士的信息合并扔进线段树。

Duff in the Army:路径前 k 小,但因为 k 很小,把前 k 用线段树维护即可。

P9555 「CROI · R1」浣熊的阴阳鱼:把鱼框的信息扔进线段树里维护。

P4679 [ZJOI2011] 道馆之战:因为二维,所以线段树的 pushup 很奇怪。

P2486 [SDOI2011] 染色:轻重边 的双倍经验。

P4312 [COI2009] OTOCI 和 OTOCI - OTOCI:离线,用树剖维护森林,连通性用并查集。

P2542 [AHOI2005] 航线规划:离线,倒序加边,成环就赋 0

P4211 [LNOI2014] LCA:推式子入门题。

Tavas on the Path:毒瘤题,把边排序后扔到线段树上处理信息。

Drivers Dissatisfaction:经典 trick,通过路径查询最大值替换的方法实现一个类动态 MST。

Best Edge Weight:类似于上题的做法。

Misha and LCP on Tree:经典 trick,树剖维护 hash,能整链跳的整链跳,不能的二分找断点。

P1600 [NOIP2016 提高组] 天天爱跑步:对每种深度的点开线段树大力做。

Dynamic Diameter:考虑大力做法,两颗线段树,一个维护到根距离,一个维护直径。

P4556 [Vani有约会] 雨天的尾巴:权值线段树,拆开修改区间。

...Wait for it...:毒瘤题,拆点算答案。

P3979 遥远的国度:换根树剖,分类讨论即可。

P3976 [TJOI2015] 旅游:这个应该算是线段树 trick 了,利用左右区间一定单调的性质。

Jamie and Tree:同 P3979。

Tree or not Tree:考虑经典 trick,给环剥下来缩成点,然后新树和环各一颗线段树维护。

Tourists:建圆方树,树剖维护即可。

Mobile Phone Network:和前面那些 MST 的题一样。

P3250 [HNOI2016] 网络:树剖套堆大力维护。

P3676 小清新数据结构题:推式子换根即可。

P3925 aaa被续:略转化扔树剖即可。

P3995 树链剖分:友情客串。

P4115 Qtree4:把树剖类似于边分治看。

P4175 [CTSC2008] 网络管理:树剖套树状数组套主席树。

P6805 [CEOI2020] 春季大扫除:简单 trick 转化为树剖板子题。

P4592 [TJOI2018] 异或:树剖+可持久化 trie。

Two-Paths:换根 dp 还有套树剖修改,也是够折磨的。

Alphabetic Tree:毒瘤题,本质还是树剖把 hash 上树,但是需要神仙优化。

Noble Knight's Path:树剖+可持久化线段树,整链直接跳,不然二分。

Moonwalk challenge:毒瘤题,还是树剖+hash,但要分类讨论,还要在 vector 里二分。

P5138 fibonacci:用斐波那契数列的经典结论把修改拆开正常维护即可。

P9997 [Ynoi2000] pmpkmp:Moonwalk challenge 的加强版,因为带修所以要更多神仙的技巧。

P4338 [ZJOI2018] 历史:神仙分讨转化为简单维护题。


  1. P9808 - [POI 2022/2023 R1] zbo
  2. CF342E - Xenia and Tree
  3. SP11985 - GOT - Gao on a tree
  4. UVA12424 - Answering Queries on a Tree
  5. CF960H - Santa's Gift
  6. CF463E - Caisa and Tree
  7. P4947 - PION后缀自动机
  8. SP6779 - GSS7 - Can you answer these queries VII
  9. P7735 - [NOI2021] 轻重边
  10. P5478 - [BJOI2015] 骑士的旅行
  11. CF587C - Duff in the Army
  12. P9555 - 「CROI · R1」浣熊的阴阳鱼
  13. P4679 - [ZJOI2011] 道馆之战
  14. P2486 - [SDOI2011] 染色
  15. P4312 - [COI 2009] OTOCI
  16. SP4155 - OTOCI - OTOCI
  17. P2542 - [AHOI2005] 航线规划
  18. P4211 - [LNOI2014] LCA
  19. CF536E - Tavas on the Path
  20. CF733F - Drivers Dissatisfaction
  21. CF827D - Best Edge Weight
  22. CF504E - Misha and LCP on Tree
  23. CF1192B - Dynamic Diameter
  24. P4556 - 【模板】线段树合并 / [Vani 有约会] 雨天的尾巴
  25. CF696E - ...Wait for it...
  26. P3979 - 遥远的国度
  27. P3976 - [TJOI2015] 旅游
  28. CF916E - Jamie and Tree
  29. CF117E - Tree or not Tree
  30. CF487E - Tourists
  31. CF1023F - Mobile Phone Network
  32. P3250 - [HNOI2016] 网络
  33. P3401 - 洛谷树
  34. P3676 - 小清新数据结构题
  35. P3925 - aaa 被​​​​​​​​​​续
  36. P3995 - 树链剖分
  37. P4115 - Qtree4
  38. P4175 - [CTSC2008] 网络管理
  39. P6805 - [CEOI 2020] 春季大扫除
  40. P4592 - [TJOI2018] 异或
  41. CF1000G - Two-Paths
  42. P13644 - K-LCA
  43. CF1608G - Alphabetic Tree
  44. CF226E - Noble Knight's Path
  45. CF1045J - Moonwalk challenge
  46. P5138 - fibonacci
  47. P9997 - [Ynoi2000] pmpkmp
  48. P4338 - [ZJOI2018] 历史
  49. CF1740H - MEX Tree Manipulation
  50. CF1168D - Anagram Paths