CDQ分治与点分治的碰撞

看到了[Noi2014]购票这道题目,发现了这种操作(为什么之前没想到呢。。。)

代码还没写过,先口胡一下

有根树上的DP,每个点只能从祖先转移。

那么考虑点分治

选出一个联通块的重心root之后,以root为根,有若干棵子树。找到root的父亲所在的子树,先递归更新这棵子树。然后再用这棵子树中root的所有祖先来更新root以及其他子树

大概就是这个意思

不过应该也不只局限于DP,但是这些问题有一些限制:

贡献的计算必须是与祖先有关的。如果贡献里有两个点产生贡献但是没有一个点是另外一个点的祖先,那么应该就不能做了吧。(因为这样的话就还要计算不含root的父亲的子树之间产生的贡献了)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×