摘要: 题解 我现在真是太特么老年了 一写数据结构就颓废,难受 这题就是用lct维护子树 ???lct怎么维护子树 这样想,我们给每个点记录虚边所在的子树大小,只发生在Access和link的时候 这样的话我们在这两个操作的时候顺带维护一下就好了 Access的时候加上新的虚儿子,减掉变成实边的那个儿子 l 阅读全文
posted @ 2018-12-11 20:31 sigongzi 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题解 老年选手的代码康复计划QAQ 这题又没一遍A,难受 每个节点维护这个节点子树内联通块的大小 维护所有节点轻儿子的$g[u][0]$表示所有轻儿子白色的联通块总数 $g[u][1]$表示所有轻儿子黑色联通块总数 更新一个点为新颜色的时候,是$g[u][c[u] ^ 1] + 1$再加上重儿子价值 阅读全文
posted @ 2018-12-11 16:26 sigongzi 阅读(336) 评论(1) 推荐(0) 编辑
摘要: 题解 给你一棵基环树,环长为奇数(两点间最短路径只有一条) 维护两点间路径最大子段和,支持把一条路径上的值取反 显然只要断开一条边维护树上的值,然后对于那条边分类讨论就好了 维护树上的值可以通过树链剖分,然后对于左右附加一个值和区间跑最大子段和 把变量名打错了orz,死亡 代码 阅读全文
posted @ 2018-12-11 13:48 sigongzi 阅读(223) 评论(0) 推荐(0) 编辑