西宁市网站建设_网站建设公司_数据备份_seo优化
2026/1/18 14:10:50 网站建设 项目流程

树链剖分总结

一些不太可能无关紧要的事情

个人感觉树剖挺恶心的。

3K码量让我还以为在写大模拟。

调试不仅调线段树,还要调DFS和LCA

食屎寄酸罚

一些不太可能会犯的错

你是怎么做到把修改函数带返回值的?

首先,就是大家喜闻乐见的调试代码了。这一块我没有吃尽了亏。简单概括一下就是两个:线段树写错和剖分写错。

线段树的错

不是这mid还能求错?

线段树就是又臭又长的一种数据结构,但维护信息时你又不得不写它。不说闲话了,直接切入正题。

  • 忘开四倍
    • 我的错误总是低级错误,看到RE的那一刻一眼知道哪里数组开小但写的时候就是想不起来。所以还是多练练吧。
  • 忘记清空
  • 线段树合并时建立新节点但忘初始化lazy_tag
    • 上次 @一休哥777 带我们写树剖时也有这个问题,而我因为多次坠机有了经验,找出问题。
    • SM随机初始化毁我代码
  • 初始化时忘记从DFS序还原

...

更多的想不起来了,但都挺弱智的,反正就这几个最容易错。

树链剖分的错

  • 忘初始化
  • 初始化DFS序数组时忘优先重儿子
    • 这也能错???
  • 查询修改时没有反转来保证联通
  • 修改查询时先后错误

...

一些练习题

因为写的比较快被YYF和WYM拉上来比赛了

找一些还想起来的题吧。

树剖LCA
原题链接

第一次用树剖写这玩意时快写吐了,前面树剖错误大部分都踩坑了。这个时候挺不解为什么要写树剖来跳,没想到要接着写它一个月。

树剖模板
原题链接

真·模板

这一题,说是模板,结果既要树链剖分,又要线段树,还要维护子树,超级全家桶属于是了。这一题调了半个月才写出来(

未完待续

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询