
图论--LCA
fnq9999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
bzoj 5165 倍增 and lca
题意: 1.给一个点 加一个儿子编号为n+1 2.询问多个点的LCA 解法: (1)和两个点LCA类似,找到深度最小的,别的节点都向这这个点条, 在每个节点深度都调整完毕时,如果每个节点都相同那么这个点就是lca (2)否则,倍增同时向上调整那么最后的所有点的父亲就是LCA #include<bits/stdc++.h> using namespace std; #de...原创 2019-09-01 00:07:00 · 186 阅读 · 0 评论 -
bzoj 2815 ZJOI2012 灾难 灭绝树 and DAG
题意:求灭绝树下的子树大小 解: 1、拓扑排序 2、****设立虚节点****作为所有刚开始没有父亲节点的父亲 3、我们按拓扑序对于每一个节点找到他灭绝树上的父亲 (他所有原图中的父亲在 灭绝树上的 lca) #include<bits/stdc++.h> #define pb push_back #define en '\n' using namespace std; co...原创 2019-09-03 22:50:58 · 167 阅读 · 0 评论 -
P2633 Count on a tree 树链上第k大
题意:在线询问树一条练上的第K大 解:主席树查询 sum[x]+sum[y]-sum[lca(x,y)]-sum[f[lca]]; 这里的主席树建树实在dfs过程当中build的 #include<bits/stdc++.h> #define en '\n' #define ll long long const int maxn =1e5+10; using namespace...原创 2019-10-04 09:49:36 · 142 阅读 · 0 评论