随笔分类 -  《图论专题》

摘要:P1892 [BOI2003]团伙: 遵循,敌人的敌人就是朋友的原则,合并敌人的敌人和本身。然后这里其实是大像小合并,因为这样才能保证根都在n内。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long l 阅读全文
posted @ 2021-10-18 22:38 levill 阅读(55) 评论(0) 推荐(0)
摘要:今天上午思考了很久的dsu on tree的原理,现在来整理下自己的理解。 dsu on tree: 首先,重儿子不一定只在重儿子子树内。对于每个非叶子节点,都存在一个重儿子。 为什么dsu on tree难以处理带修改的子树问题? 因为对于dsu on tree的dfs中,重儿子的子树只会被递归到 阅读全文
posted @ 2021-05-17 17:30 levill 阅读(48) 评论(0) 推荐(0)
摘要:点分治的模板题。 总结一下点分治:核心就是关于重心的寻找。 对于一棵无根树,我们随机选择一个点作为根来处理树上路径。 最坏情况下有n层接近O(n)的复杂度,这时显然不太好。 那么我们就寻找到一个点(重心),满足他的最大的子树最小。这样可以最小化最大的递归层。 经过证明(证明略),最大的子树的最小的值 阅读全文
posted @ 2020-08-27 11:58 levill 阅读(189) 评论(0) 推荐(0)