卧薪尝胆,厚积薄发。
猫题6
Date: Mon Feb 25 13:14:08 CST 2019
In Category:
NoCategory
Description:
给定一棵大小为
$n$
的树,
$q$
次询问,每次给定一个点集
$S$
,询问包含
$S$
的连通块数。
$1\leqslant n\leqslant 3\times 10^5,1\leqslant \sum|S|\leqslant 10^6$
Solution:
发现这个用虚树
$DP$
不是很好做,因为要考虑虚树之外的点。
考虑整体
$DP$
,首先一遍
$DP$
求出以每个点为根的联通块个数,然后把所有询问放在一起,对于某条父子边
$k\to c$
,如果
$c$
里面有特殊点,那么就要乘上对应的
$DP$
值,否则应该乘上最开始那一遍
$DP$
的值,于是我们可以对子树中有点的特殊计算,没有的区间乘就可以了,注意要特殊处理一下最高点到根的那部分。
Code:
没有代码
In tag:
DP-整体DP
Copyright © 2020
wjh15101051
ღゝ◡╹)ノ♡