洛谷 2002_消息扩散_强连通分量
来源:互联网 发布:ipad隐藏软件 编辑:程序博客网 时间:2024/06/05 14:33
题目描述
有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息。
思路
用tarjian求强连通分量,输出入度为0的个数即可
#include <stdio.h>#include <stack>#include <string>#include <cstring>using namespace std;#define maxn 600000#define fill(x, y) memset(x, y, sizeof(x))struct edge{ int from, to, next;}e[maxn];int ls[maxn], f[maxn], n, m, dfn[maxn], low[maxn], bcnt = 0, instack[maxn], dindex = 0, belong[maxn], in[maxn];stack<int> s;void tarjan(int now){ dindex++; dfn[now] = dindex; low[now] = dindex; s.push(now); instack[now] = 1; for (int i = ls[now]; i; i = e[i].next) { if (dfn[e[i].to] == 0) { tarjan(e[i].to); if (low[now] > low[e[i].to]) low[now] = low[e[i].to]; } else { if (instack[e[i].to] && dfn[e[i].to] < low[now]) low[now] = dfn[e[i].to]; } } if (dfn[now] == low[now]) { bcnt++; int j; do { j = s.top(); s.pop(); instack[j] = 0; belong[j] = bcnt; } while(now != j); }}void work(){ for (int i = 1; i <= n; i++) if (dfn[i] == 0) tarjan(i);}int main(){ scanf("%d%d", &n, &m); for (int i = 1; i <= m; i++) { int x, y; scanf("%d%d", &x, &y); e[i] = (edge) {x, y, ls[x]}; ls[x] = i; } work(); for (int i = 1; i <= m; i++) if (belong[e[i].from] != belong[e[i].to]) in[belong[e[i].to]]++; int ans = 0; for (int i = 1; i <= bcnt; i++) if (in[i] == 0) ans++; printf("%d\n", ans);}
阅读全文
1 1
- 洛谷 2002_消息扩散_强连通分量
- 间谍网络_洛谷1262_强连通分量
- 强连通图_割点_割边(桥)_双向连通分量关系
- hihoCoder_#1185_连通性·三·强连通分量
- 旅行_纪中2569_dfs+强连通分量
- 强连通分量_双连通分量(转载)
- 数据结构_图_求有向图的强连通分量
- 连通图_连通分量FloodFill
- 强连通分量 洛谷2818
- 连通分量个数(连通分量_并查集)
- 间谍网络 洛谷 1262 强连通分量
- 上白泽慧 洛谷1726 强连通分量
- 洛谷2661-tarjan-强连通分量
- 洛谷P1726 上白泽慧音(强连通分量)
- nyoj120校园网络_强连通问题
- 收缩强连通分量
- 强连通分量
- POJ2181强连通分量
- 将Eclipse代码导入到AndroidStudio的两种方式
- 机器学习与深度学习(五) 回归分析(regression analysis)
- 浅复制
- linux环境设置静态IP
- fixed定位在ios中会有小bug,如何通过别的方法做到fixed定位效果?
- 洛谷 2002_消息扩散_强连通分量
- JAVA List和Map集合类简介(简单整理)
- 挖洞经验|雅虎小企业服务平台Luminate身份认证漏洞
- <typeAlias> <reslutmap> <parameterMap>
- IDEA新建Spring MVC实例
- ES6之"let"能替代"var"吗?
- 欢迎使用CSDN-markdown编辑器
- 动力核心—电源系列(一)
- Android Error之动画递归