洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom
稍微学习一下强连通分量。
https://www.cnblogs.com/stxy-ferryman/p/7779347.html
我觉得他讲得很好。
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm> 5 #include <vector> 6 #include <stack> 7 using namespace std; 8 const int MAXN = 1e5 + 20; 9 10 int N, M; 11 12 namespace SCC 13 { 14 vector<int> g[MAXN]; 15 stack<int> sta; 16 bool ins[MAXN]; 17 int idx[MAXN], dfn[MAXN], low[MAXN]; 18 vector<int> scc[MAXN]; int cnt = 0; 19 20 void tarjan(int cur) 21 { 22 static int num = 0; 23 dfn[cur] = low[cur] = ++num; 24 sta.push(cur), ins[cur] = true; 25 for(int i = 0; i < (int) g[cur].size(); i++){ 26 int v = g[cur][i]; 27 if(!dfn[v]) { 28 tarjan(v); 29 low[cur] = min(low[cur], low[v]); 30 } 31 else if(ins[v]) low[cur] = min(low[cur], dfn[v]); 32 } 33 if(dfn[cur] == low[cur]){ 34 ++cnt; int tmp; 35 do{ 36 tmp = sta.top(); sta.pop(); ins[tmp] = false; 37 idx[tmp] = cnt, scc[cnt].push_back(tmp); 38 }while(tmp != cur); 39 } 40 } 41 } 42 43 int main() 44 { 45 cin>>N>>M; 46 for(int i = 1, u, v; i <= M; i++){ 47 scanf("%d%d", &u, &v); 48 SCC::g[u].push_back(v); 49 } 50 51 for(int i = 1; i <= N; i++) 52 if(!SCC::dfn[i]) SCC::tarjan(i); 53 int ans = 0; 54 for(int i = 1; i <= SCC::cnt; i++) 55 if(SCC::scc[i].size() > 1) ++ans; 56 cout<<ans<<endl; 57 return 0; 58 }
转载于:https://www.cnblogs.com/wsmrxc/p/9278548.html
洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom相关推荐
- P2863 [USACO06JAN]牛的舞会The Cow Prom
题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...
- 【题解】[USACO06JAN]牛的舞会The Cow Prom(tarjan)
题目描述 约翰的N (2 <= N <= 10,000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别 上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一 ...
- 洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game
洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game 题目描述 Bessie is playing a number game against Farmer John, ...
- 【洛谷 2863】牛的舞会
题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...
- 【USACO06JAN】牛的舞会The Cow Prom
题目描述 约翰的N (2 <= N <= 10,000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别 上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一 ...
- 洛谷 P1352 没有上司的舞会
洛谷 P1352 没有上司的舞会 Description 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会, ...
- 题解 洛谷 P3069 [USACO13JAN]牛的阵容Cow Lineup
洛谷P3069[USACO13JAN]牛的阵容CowLineup\color{#00F}{洛谷\ P3069\ [USACO13JAN]牛的阵容Cow Lineup}洛谷 P3069 [USACO13 ...
- 洛谷·bzoj·伟大的奶牛聚集Great Cow Gather
初见安~~这里是传送门:洛谷P2986 & bzoj P1827 题目描述 Bessie is planning the annual Great Cow Gathering for cows ...
- 洛谷P2862 [USACO06JAN]把牛Corral the Cows
P2862 [USACO06JAN]把牛Corral the Cows 题目描述 Farmer John wishes to build a corral for his cows. Being fi ...
最新文章
- 这是我见过的GAN的最佳用法!
- Bitmap,byte[],Drawable相互转化
- 北京超前布局通用人工智能 我国首个超大规模智能模型系统发布
- 14.4 线程通讯-生产者与消费者
- android aar 修改,Android aar包修改代码后重新打包
- 【已完结!】Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表【附:视频、工程源码、资料、详细笔记】
- Css标题中图片居中,图片居中:任意图片在div里的上下垂直都居中!
- php验证码--图片
- 使用ASP.NET Core 3.x 构建 RESTful API - 3.4 内容协商
- ES6学习(一)— Babel转码器的使用和配置
- TTS之训练vocoder
- Spark中repartition和coalesce的区别与使用场景解析
- python—gc.collect()清楚内存
- 天梯赛L2-10:排座位
- python orange3_Anaconda中安装Orange3脚本-完整版
- springboot 2.5.3 ActiveMQ踩坑笔记
- svn: E155037: Previous operation has not finished; run 'cleanup' if it was i
- 开源项目智慧教室:考试作弊系统、动态点名等功能
- JAVA入门遇到的问题01 超大数字大小比较
- 程序员晚上跟女朋友聊什么?------(写了个五子棋游戏给她,她玩了整晚也没赢一局)