双联通分量
蜗角虚名羊
这个作者很懒,什么都没留下…
展开
-
bzoj2730: [HNOI2012]矿场搭建(点双)
题目 题解: 无向图双联通分量 详见注释 标程: #include<bits/stdc++.h> using namespace std; #define M(a) memset(a,0,sizeof(a)) #define v e[i].to typedef long long ll; const int N=503; struct kk{ int to...原创 2018-04-23 09:37:38 · 177 阅读 · 0 评论 -
51nod 1470 计算机网络问题
题目 题解 Solution 一个边双连通分量一定可以找到一个不走重复边的环 这个的话用两个之间一定存在至少两条没有公共边的路径可以得证 所以双连通分量的所有点是可以随便两两到达的 于是我们可以先来一发双连通缩点 然后就变成了一个树 差分一下 Code #include<bits/stdc++.h> using namespace std; const int N=200001; st...转载 2018-10-24 15:05:23 · 207 阅读 · 0 评论 -
bzoj5463: [APIO2018] 铁人两项(圆方树)
题目 题解 最后树的形态我描述一下,我刚开始就是因为想象中树的形态是错的才理解了好久 每个方点下面连着一堆圆点,两棵树之间的公共点为这两个点双的割点 再补充一下题解中的(3),uuu到vvv的路径上的点双是包括uuu和vvv的 #include&amp;lt;bits/stdc++.h&amp;gt; using namespace std; typedef long long ll; const int N=1...原创 2019-02-19 09:52:12 · 156 阅读 · 0 评论 -
bzoj2125: 最短路
题目 Solution 思路 先对仙人掌图建圆方树,圆圆边和原图边权一致。对于每个方点代表的环,记深度最小的点为xxx,xxx为方点,圆方边的边权是圆点到xxx的最短距离 若lca(u,v)lca(u,v)lca(u,v)为圆点,则两点间最短路转化为圆方树上dis[u]+dis[v]−2∗dis[lca]dis[u]+dis[v]-2*dis[lca]dis[u]+dis[v]−2∗dis[lca...原创 2019-02-20 10:42:28 · 366 阅读 · 0 评论 -
bzoj5329: [Sdoi2018]战略游戏
题目 题解 Solution 问题可转化成求点集之间两两的路径并 Code #include<bits/stdc++.h> using namespace std; const int N=300002,M=100002; struct node{ int to,ne; }e[N<<1],E[M<<2]; int fa[N][20],dep[N],TOT,to...转载 2019-03-11 11:42:18 · 194 阅读 · 0 评论