![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dsu on tree
文章平均质量分 67
RunningBeef
这个人很帅,所以……
展开
-
2019 ICPC 南昌 Regional K. Tree(树上启发式合并 + 动态开点线段树)
#include<bits/stdc++.h>using namespace std;#define IOS std::ios_base::sync_with_stdio(false), std::cin.tie(0), std::cout.tie(0);// 快读const int N = 1e5 + 10;const int MAX = 2e7;int h[N],to[N << 1],ne[N << 1];int son[N],sz[N];int c原创 2021-11-12 22:06:46 · 691 阅读 · 0 评论 -
dsu on tree
要点把问题转化成求解任意结点子树一整个层上的所有结点某些性质的特点。注意预处理要求的答案,或者优化求解答案的时间复杂度,dsu on tree 时间复杂是 n logn ,一定要防止求解答案过程中的复杂度退化注意数组越界,有时候要求的答案是不合法的,比如让你求一个在第5层的结点的它第3层儿子的数量,或者给你的层数大于树的有效层数当有多棵树时,因为要遍历多棵树,防止遍历上一颗树信息对下一棵树的影响,所以遍历每一棵树都要把根节点设置为轻链,遍历整棵树的最后要消除掉这棵树的信息。消除子树信息的方法,原创 2021-10-30 17:59:10 · 223 阅读 · 0 评论