摘要: 参考文章 1 参考文章 2 0x01:引入 与重链剖分不同,长链剖分以子树深度最大的儿子作为重儿子,这里所述之深度是指子树内离它最远的叶子到它的距离。 如图绿色部分就是长链。 构造长链代码 点击查看代码 void dfs(int u,int fa){ for(int i=h[u];i;i=ne[i] 阅读全文
posted @ 2022-10-24 09:49 RuntimeErr 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 新建结点 int cnt,root; inline int newnode(int val){ fhq[++cnt].val=val; fhq[cnt].key=rand(); fhq[cnt].size=1; return cnt; } 按权分裂 void split(int now,int va 阅读全文
posted @ 2022-10-24 08:48 RuntimeErr 阅读(29) 评论(0) 推荐(0) 编辑