一些有意思的题
Posted skiceanakacniu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些有意思的题相关的知识,希望对你有一定的参考价值。
一些有意思,但是没地方提交的题。
1
每个点有一个颜色,求树上所有颜色不同点对的距离和。
做法一
不同点对的距离和 (=) 总距离和 (-) 相同颜色的点对距离和。
对每个颜色建立虚树,然后算就得了。
做法二
首先同样进行第一步转化。
考虑使用线段树合并维护一个子树中每种颜色有多少个,深度之和为多少。
到一个结点处理两件事情:
- 不同子树之间的结点距离和,可以发现这些点的
lca
都是当前点,所以距离可算。 - 子树中的点到当前点的距离和。
可能这个方法会难写一些?
以上是关于一些有意思的题的主要内容,如果未能解决你的问题,请参考以下文章