日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法提高课-图论-有向图的强连通分量-AcWing 367. 学校网络:强连通分量、tarjan算法

發(fā)布時間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法提高课-图论-有向图的强连通分量-AcWing 367. 学校网络:强连通分量、tarjan算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

      • 題目解答
      • 題目來源

題目解答



來源:acwing

分析:

第一問:通過tarjan算法求出強連通分量并且縮點后,統(tǒng)計入度為0的點的個數(shù)p即可。

第二問,至少加幾條邊才能使圖變成強連通分量?這個答案是max(p,q)。含義是入度為0,和出度為0的點的個數(shù)的最大值。但特例是,如果只有1個強連通分量,那么不需要加邊,直接輸出0即可。

第二問的問題實際上是:對于任意一個有向無環(huán)圖,至少加多少條邊,才能使之變成強連通分量?記入度為0的點個數(shù)是p,出度為0的點的個數(shù)為q。

答案是max(p, q). 證明過程可以自行搜索。

下面的主要部分還是tarjan的板子
算法提高課-圖論-有向圖的強連通分量-AcWing 1174. 受歡迎的牛:tarjan算法求強連通分量、tarjan算法板子、強連通圖

ac代碼

#include<bits/stdc++.h> using namespace std; const int N = 110, M = 10010; int n; int h[N], e[M], ne[M], idx; int dfn[N], low[N], ts; int stk[N], top; bool in_stk[N]; int id[N], scc_cnt; int din[N], dout[N];void add(int a, int b){e[idx] = b, ne[idx] = h[a], h[a] = idx ++; }void tarjan(int u){dfn[u] = low[u] = ++ ts;stk[++ top] = u, in_stk[u] = true;for(int i = h[u];~i; i = ne[i]){int j = e[i];if(!dfn[j]){tarjan(j);low[u] = min(low[u], low[j]);}else if(in_stk[j]) low[u] = min(low[u], dfn[j]);}if(dfn[u] == low[u]){int y;++ scc_cnt;do{y = stk[top --];in_stk[y] = false;id[y] = scc_cnt;}while(y != u);} }int main(){cin >> n;memset(h, -1, sizeof h);for(int i = 1; i <= n; i ++){int t;while(cin >> t, t) add(i, t);}for(int i = 1; i <= n; i++)if(!dfn[i]) tarjan(i);// 統(tǒng)計出度和入度for(int i = 1; i <= n; i ++ ){for(int j = h[i]; ~j; j = ne[j]){int k = e[j];int a = id[i], b = id[k];if(a != b){dout[a] ++, din[b] ++;}}}int a = 0, b = 0;// 遍歷每個強連通分量,統(tǒng)計縮點后的點的入度和出度for(int i = 1; i <= scc_cnt; i ++){if(!din[i]) a ++;if(!dout[i]) b++;}cout << a << endl;// 只有1個強連通分量,不需要加邊if(scc_cnt == 1) cout << 0 << endl;else cout << max(a, b) << endl; }

題目來源

https://www.acwing.com/problem/content/369/

總結(jié)

以上是生活随笔為你收集整理的算法提高课-图论-有向图的强连通分量-AcWing 367. 学校网络:强连通分量、tarjan算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美嫩草影院 | 啦啦啦视频在线观看 | 欧美一区免费观看 | 黄色片特级 | 天天躁夜夜躁狠狠是什么心态 | 日本高清有码 | 欧美丝袜一区二区 | 肉丝袜脚交视频一区二区 | 在线免费观看国产视频 | 国产sm调教一区二区 | 老牛影视一区二区三区 | 一级免费黄色大片 | 国产做a视频 | 国产一级免费大片 | 成人3d动漫在线观看 | 一级α片免费看刺激高潮视频 | 成人免费大片黄在线播放 | 少妇高清精品毛片在线视频 | 波多野结衣一区二区在线 | 欧美激情视频一区二区 | 又粗又大又硬又长又爽 | 先锋影音av资源在线观看 | 国产精品怡红院 | 欧美日一本| 亚洲精品aaaaa | 黄色污网站在线观看 | 午夜羞羞影院 | 国产精品熟女久久久久久 | 国产日产欧美一区二区 | 国产精品高潮视频 | 欧美亚洲第一页 | 一级大黄毛片 | 亚洲av无码一区二区乱孑伦as | 美国免费高清电影在线观看 | 欧美一区国产一区 | 国产一区二区视频免费观看 | 欧美在线a | 色偷偷综合网 | 97久久人人超碰caoprom欧美 | 日本女人黄色 | 国产又大又粗又长 | 蜜桃视频无码区在线观看 | 高清不卡av | 风间由美av | 放荡的少妇2欧美版 | 亚洲免费影院 | 国产毛片毛片毛片毛片毛片 | 欧美毛片免费看 | 国产精品无码人妻一区二区在线 | 欧美日韩亚洲第一 | 国产精品羞羞答答在线观看 | 欧美aaa一级片 | 大黄网站在线观看 | 激情小说亚洲色图 | 爽爽免费视频 | 国产a级免费视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 一卡二卡久久 | 久久久噜噜噜久久中文字幕色伊伊 | 日韩精品一区二区亚洲av性色 | 免费在线日韩av | 一级毛片aa | 黄色一区二区视频 | 91丨porny丨在线 | 毛片亚洲av无码精品国产午夜 | 少妇与公做了夜伦理 | 操操干| jizz欧美大全| 在线麻豆视频 | 亚洲成色| 999成人网| 国产激情四射 | 国产精品毛片一区二区在线看 | 成人尹人 | 激情四射av| 夜夜操天天射 | 久久伊人免费视频 | 永久免费在线观看av | 色天天 | 亚洲视频免费在线播放 | 精品久久久久一区二区国产 | 婷婷激情成人 | 免费看成人啪啪 | 久久香蕉热 | 亚洲一区二区影视 | 神马午夜电影一区二区三区在线观看 | 丰满少妇在线观看资源站 | 国产18照片色桃 | 一区二区伊人 | 黄色综合| 亚洲欧美在线综合 | 97精品久久 | 日韩在线视频播放 | 日韩av一区二区三区在线 | 成人av动漫| 国产伦精品一区二区三区免费 | 手机在线永久免费观看av片 | 日韩在线中文字幕 | 91爱看|