P2661 資訊傳遞 強連通分量

2022-05-05 05:42:10 字數 747 閱讀 7464

這題求最小的單向環。

可因為每個節點初度為1,所以所有的強聯通分量都只能是單向環。

所以就是有向圖強連通分量的模板題。

#include#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 200000 + 10

;const

int inf = 0x3f3f3f3f

;vector

g[maxn];

intpre[maxn], lowlink[maxn], sccno[maxn], dfs_clock, scc_cnt;

stack

s;intn,ans;

void dfs(int

u)

else

if (!sccno[v])

}if (lowlink[u] ==pre[u])

if(cnt>1) ans =min(ans, cnt);

}}void find_scc(int

n) void

init()

intmain()

find_scc(n);

printf(

"%d\n

",ans);

}return0;

}

P2661 資訊傳遞

題目描述 有n個同學 編號為1到n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資...

P2661 資訊傳遞

題目描述 有n個同學 編號為1到n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資...

P2661 資訊傳遞

並查集求解有向圖最小環 首先有個特殊要求的就是對於圖的邊是沒有長度的。然後我們採取乙個簡化操作,在找到這個環之間,由於只需要求環的長度,所以對於環的最後一條邊,不加入之前先判斷指向的點能不能最後指向原點。includeusing namespace std int n int ans 200050 ...