题目链接
题解
设\(f[i][j][0|1][0|1]\)表示\(i\)为根的子树,用了\(j\)个监测器,\(i\)节点是否被控制,\(i\)节点是否放置的方案数
然后转移即可
\(O(nk^2)\)??
用上子树大小来优化就是
\(O(nk)\)的
对于子树大小都超过
\(k\)的子树,转移
\(O(k^2)\),这样的情况最多出现
\(\frac{n}{k}\)次
对于子树大小有一个超过
\(k\)的子树,没超过
\(k\)的那个子树里每个点贡献
\(O(k)\),这样的情况对每个点最多出现一次
实现时需要诸多常数优化,才能在\(BZOJ\)上\(AC\),洛谷上开O2随便过
#include #include #include #include #include #include #include