题意
给定一棵nn个点的树,树上某些点是黑点。每次询问是否能选出一个个点的联通块,使其中有yy个黑点。
询问数。数据组数≤5≤5。
分析
一棵树上的联通块是一棵树,因此考虑从儿子向父亲合并信息。那我们可以维护每个点选含自己的字数内ii个点的联通块,其中有个黑点的可行性,转移枚举儿子,枚举选点数量即可转移。
这样显然不行。于是我们发掘一下特性,发现不需要计算每个黑点数量的答案,因为一个子树内选黑点数量的可行性是连续的一段区间。就是说如果取ll个黑点是可行的,取个黑点是可行的,那么取[l,r][l,r]个黑点是可行的。
于是维护每个子树选ii个点的联通块,可行黑点最大值和最小值是多少。然后枚举选点数量。
[ + view code ]
本文探讨了一种在树形结构中进行动态规划的有效方法。针对大量询问和大规模数据集,提出了通过维护子树中选择特定数量节点时黑点数量的可行性区间来优化计算过程的技术。

3092

被折叠的 条评论
为什么被折叠?



