双连通分量
文章平均质量分 58
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[2017纪中11-9]道路重建 点双连通分量+树的直径
题面 考虑缩点双连通分量,缩点之后成为一棵树,那么加一条边(x,y)可以使得原树上x到y的路径上的所有边变得不危险,于是跑个树直径即可。 代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=200010;int n,m,tim,top,nc,dfn[maxn],原创 2017-11-10 15:24:47 · 294 阅读 · 0 评论 -
[ARC062]F - Painting Graphs with AtCoDeer 双联通分量+Pólya计数
题面 把边分成三种: 1. 不在点双联通分量中,直接贡献K" role="presentation" style="position: relative;">KKK。 2. 在一个环中,记环长为n" role="presentation" style="position: relative;">nnn,根据Pólya定理,其贡献为(205)1|G|∑g∈GKc(g原创 2018-01-24 21:55:26 · 879 阅读 · 0 评论 -
[BZOJ2959]长跑 LCT+双联通分量+并查集
首先在一个边双联通分量中所有点的贡献是都可以算入的。但是因为有加边操作,考虑用LCT来维护缩边双之后的树。 若一次连接的(x,y)(x,y)在同一棵树上,就把xx到yy的路径提出来,缩成一个点。这可能会导致其他某些点的父亲标号改变,所以调用父亲之前一定要用并查集更新一下。 然后因为只有加边,判断在不在一棵树上最好也用并查集,用找根操作常数略大。 代码:#include#includ原创 2018-01-18 20:21:11 · 347 阅读 · 0 评论