专栏文章

题解:P14157 [ICPC 2022 Nanjing R] 树的染色

P14157题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minn3mo0
此快照首次捕获于
2025/12/02 05:06
3 个月前
此快照最后确认于
2025/12/02 05:06
3 个月前
查看原文

[ICPC 2022 Nanjing R] 树的染色

先考虑 dp。设 fi,jf_{i,j} 表示 ii 子树内深度为 jj 的点全部被染成黑色的最小代价,转移时将所有儿子的 ff 的第 jj 个位置加上,然后再对直接操作的代价取 min 即可。
这样时间复杂度是 O(n2)\operatorname{O}(n^2) 的,用长链剖分可以将第一部分做到 O(n)\operatorname{O}(n),但第二部分难以优化。
观察到不同深度实际上没必要一起计算,可以分开计算。设当前考虑的深度为 xx,那么对子树操作时如果只有一个儿子的子树中存在深度为 xx 的点其能一次操作变黑的点是一样的,这启发我们只保留那些有至少两个儿子的子树中存在黑点的点,也就是对深度为 xx 的点建虚树
考虑虚树上两点 xxyy,设 xxyy 祖先,vvxxyy 走到的第一个点,那么 yyvv 路径上的点在操作时影响的点都是一样的,而这些点的 aa 对应的是一段连续的区间,用 ST 表快速维护即可。

评论

0 条评论,欢迎与作者交流。

正在加载评论...