可達性統計

2021-10-07 19:13:08 字數 835 閱讀 4623

題目描述

給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。

輸入格式

第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。

輸出格式

輸出共n行,表示每個點能夠到達的點的數量。

資料範圍

1≤n,m≤30000

輸入樣例:

10 10

3 82 3

2 55 9

5 92 3

3 94 8

2 10

4 9輸出樣例:16

3321

1111

#include

using

namespace std;

const

int n=

30010

;int n,m;

int p[n]

;//通向y的節點的個數

vector<

int> e[n]

;//儲存圖

vector<

int> tuopo;

//儲存拓撲排序的結果

bitset f[n]

;void

tuoposort()

while

(q.size()

)}void

init()

}void

find()

for(

int i=

1;i<=n;

++i)

cout<.count()

<}int

main()

可達性統計

題目描述 給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。n,m 30000。輸入第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。輸出共n行,表示每個點能夠到達的點的數量。樣例輸入 複製樣例資料 10 10 3 82 3 2 55 9 5 92...

可達性統計

給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。輸入格式 第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。輸出格式 輸出共n行,表示每個點能夠到達的點的數量。資料範圍 1 n,m 300001 n,m 30000 輸入樣例 10 10 3 82...

問題 A 可達性統計

題目 法一 過程 一開始我直接拿bfs跑,沒有用去重,導致乙個節點重複算了多次,使用了bitset的位運算 去重後,答案才對,bitset 好 bitset還省空間 bitset陣列類似與bool陣列,但是省空間 思路 前向星建圖,將所有的visit u u 初始化為1 自己和自己相連 如果乙個點u...