问题是要求 ,考虑二分答案后,使用二分图匹配判断是否流满。 但是,我们不能暴力的去建出二分图,对建图进行优化。 首先,我们考虑对每种颜色建出虚树,那么一条边就对应原树的一条垂直树链,这条链上任取一个点都会产生颜色树乘子树关键点数的值,因此需要将这条路径的所有点连向某个值。 然后,这里给一个 个点, 条边的建图方式。第一部分,考虑对树轻重链剖分,每个点拆分为本来的点,连向它在重链上的副本,并将这个点连向重儿子在重链上对应的点,第二部分,对剖分后的 dfs 序使用线段树优化建图。因此,每条垂直树链就可以分为一系列重链(到链顶端),加上一段 dfs 序连续区间。 第一部分的建图,如下所示。可以注意...