考虑 DP,设 表示确定了以 为根的子树内的所有边的状态,对于所有 在该子树内且没有被满足的 , 的最大值为 的方案数。 特别地, 表示全都满足的方案数。
之所以记最大值是因为实际上只关心最大值,深的满足了之后浅的会同时满足。
对于 及其儿子 ,不难合并其状态
第一项表示把 到 的边标记为重要的,后两项表示标记为不重要的。
不难发现这个 DP 适合用线段树合并来维护。
直接上即可。
代码:
1 |
|
考虑 DP,设
之所以记最大值是因为实际上只关心最大值,深的满足了之后浅的会同时满足。
对于
第一项表示把
不难发现这个 DP 适合用线段树合并来维护。
直接上即可。
代码:
1 | #include <cstdio> |