[codevs1995]黑魔法师之门
来源:互联网 发布:淘宝韩式褶皱斑马帘 编辑:程序博客网 时间:2024/06/09 21:23
题目←
容易发现题目描述的子图仅能包含强连通分量
什么时候出现强连通分量呢?在两个点已经连通后又加了条边的时候,子图数 = 原子图数*2 + 1
新增方案数为原子图数 + 1,意义为
1、用新添的边替换两点间一条原边产生的新方案
2、新添的边产生的新强连通分量
#include<iostream>#include<cstdio>#include<algorithm>#define mod 1000000009using namespace std;long long ans;const int MAXN = 400000 + 50;int fa[MAXN];void init(int n){ for(int i = 1;i <= n;i ++) fa[i] = i;}int find(int x){ return fa[x] == x ? x : fa[x] = find(fa[x]);}int n,m,a,b;bool same(int a,int b){ return find(a) == find(b);}void merge(int a,int b){ a = find(a); b = find(b); fa[b] = a;}int main(){ scanf("%d%d",&n,&m); init(n); for(int i = 1;i <= m;i ++) { scanf("%d%d",&a,&b); if(!same(a,b))merge(a,b); else ans = ((ans*2)%mod + 1)%mod; printf("%lld\n",ans); }}
代码贼简单……
阅读全文
0 0
- [codevs1995]黑魔法师之门
- Codevs1995黑魔法师之门
- 黑魔法师之门(codevs1995)
- Codevs1995 黑魔法师之门 并查集
- 【tyvj1863】【codevs1995】黑魔法师之门,有毒的并查集
- 【图论】黑魔法师之门
- 【并查集】黑魔法师之门
- 【tyvj1863】 [Poetize I]黑魔法师之门
- 【codevs 1995】黑魔法师之门
- codevs 1995 黑魔法师之门
- 【codevs 1995】黑魔法师之门
- Codevs 1995 黑魔法师之门
- 黑魔法师之门(并查集)
- [Poetize I]黑魔法师之门 并查集能判断环。。。。
- TYVJ P1863 - [Poetize I]黑魔法师之门
- TYVJ 1863 [Poetize I]黑魔法师之门
- Tyvj P1863 [Poetize I]黑魔法师之门
- <并查集+脑洞>codevs 1995 黑魔法师之门
- pdf插入数据并下载
- Zuma HDU
- OC调JS方法并传值
- 在写项目的过程中会遇到jquery和zepto中的$打架,如何释放$操作符
- basic knowledge of MATLAB
- [codevs1995]黑魔法师之门
- 顺序表应用2:多余元素删除之建表算法
- mui原生渐变式导航5+
- Flask中的蓝图
- String.getBytes()方法中的中文编码问题
- transient
- Qml选择表情
- tomcat 启动到Loaded JDBC driver:com.mysql.jdbc.Driver停止
- 上拉加载