树链剖分
AKone123456
这个作者很懒,什么都没留下…
展开
-
不存在的树------------------------思维(树链剖分)
#include<bits/stdc++.h> using namespace std; const int N=3e5+10000; typedef long long ll; int op; int n,q,m; int e[N<<1],ne[N<<1],h[N<<1],idx,cnt; int a[N]; int rk[N],son[N],dep[N],fa[N],top[N],size[N],id[N]; struct node { int l...原创 2020-07-09 14:46:12 · 171 阅读 · 0 评论 -
P3384 【模板】轻重链剖分----------------------------模板
概念: 重儿子:父亲节点的所有儿子中子树结点最多(size[x])的节点 轻儿子: dep[x]:x的深度 size[x]:以x为根的子树节点个数总和 id[x]:dfs序所访问的编号 fa[x]:保存u的父亲节点 son[x]:保存重儿子 rk[x]:保存当前dfs序标号在树中所对应的节点 top[x]:保存重链的顶点 #include<bits/stdc++.h> usin...原创 2020-03-25 15:08:08 · 239 阅读 · 0 评论