重修 LCT
20230302
重写了一个更美观的 LCT。
突然感觉 LCT 好写多了,不再被认为是毒瘤数据结构。
20220609
Link Cut Tree 可以理解为动态的树链剖分,且链的维护是 splay。
在这之前一定要把 splay 写熟练了,不然吃大亏。
不好意思只会写指针版的
写了一份非指针版的,但是不是模板题(比模板更强):Link
P2147 [SDOI2008] 洞穴勘测 首次不看任何资料自己写 LCT,耗时 28min。
教训:
-
access 一定要想想要不要 splay(acsp 连招),因为 access 并不会将这个点旋到 splay 的根。
-
判祖先不要再用
t[rt].fa
啦!!!!(因为有虚边的存在),用sonty()
。
又写了一份非指针版的指针什么 lj,不好调还空间大 P2173 [ZJOI2012]网络
Link 封装版的写法(带 Link Cut 改点权 和 求路径点权最大值),这道题用时 45min。
教训:
- 用 map 存的边对应颜色,但是改边颜色时忘记更新 map 了/qd。
本文来自博客园,作者:ShaoJia,版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义