【树】【容斥】【分治】tree
只要有信念,就一定能成功! jaisuf8f7g9s9s8f9*
题意
给定一棵树,对树上每个点
对于一个点集,如果其
求所有合法集合选取方案的权值和。
分析
看上去很不可做,我们可以尝试寻找一种可能的思路,尽管它一开始可能是错误的,也可能为我们提供些许性质,指出通向正解的道路。
一种想法是枚举每个点被覆盖的次数,然后取三次幂(也就是可能形成的子集贡献和)加起来,然而这显然是错误的,因为每一种合法的情况都会被重复计算
让我们考虑用一种方法容斥掉产生的重复,容易发现连通块也是一棵树,而树满足点数减边数恰好为
直接这样做是
类推
此题即讲求在树上选择
容斥,问题变成对于一点或一边,计算出包含该点的连通块个数,满足连通块内任何一点到达该点的距离不超过
我们知道,对于一棵树,计算包含根的连通块数的简单方法就是按照这个式子 DP:
直接这样暴力是