随笔分类 - 点分治
摘要:点分治算法分析 点分治用来处理单词循环有关数上路径问题。 所有路径对答案的贡献其实可以分成,所有过一点的路径+所有不过这点的路径。 不过这点的路径怎么算?可以以这点为根到它的子树里分治解决。 所以现在问题只有:1、所有过这点的路径怎么解决?2、复杂度怎么保证? 问题二:可以每次分治时以重心为根。这样
阅读全文
摘要:点分治真是一个好东西。~~可惜我不会~~ 这种要求所有路经的题 很可能 是点分治。 然后我就不会了。。 既然要用点分治,就想,点分治有哪些优点?它可以O(nlogn)遍历分治树的所有子树。 那么现在的问题就是,如可快速(O(n)或O(nlogn))求以一个点为根的时候,子树之间的贡献(当
阅读全文
摘要:点分树一点都不会啊(还是太菜了) 点分树就是我们点分治构成的新树。满足深度很小。 然后我们就可以在上面瞎维护东西了。 三个大根堆: C[u]里装的是点分树中u的子树所有点到点分树中u的父亲的距离。 B[u]里装的是点分树中u的所有儿子的C的最大值。 A里装的是所有B的最大值与次大值之
阅读全文
摘要:记得是9月月赛题,当时做的时候觉得跟 ZJOI2015幻想乡战略游戏 那道题很像???,就写了,~~然后就写挂了。。。~~ 我们发现假设当前点为根,我们算出m次询问中最远的a对点,如果这a对点,全部都两个点在根的不同子树中。当前点就是最优的就是答案。当全部a对点都在一个子树中,我们把
阅读全文
摘要:题意自己看。。。 思路 没想到今(昨)天刷着刷着点分治的水题,就刷出来了一个点分树。。。 然后就疯狂地找题解,代码,最后终于把它给弄懂了。 点分树——动态点分治,对于此题来说,我们设u为当前的补给站位置,v是它的一个儿子。同时设dis(i,j)为树上i点到j点的距离。cnti为以i为根的子树中d(也
阅读全文