拓撲排序 可達性統計

2021-10-06 01:18:02 字數 973 閱讀 2890

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

輸入格式

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

輸出格式

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

資料範圍

1≤n,m≤300001≤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

#include

#include

#include

#include

using

namespace std;

const

int n =

30010

, m =

30010

;int n, m;

int h[n]

, e[m]

, ne[m]

, idx;

int d[n]

, q[n]

;bitset f[n]

;void

add(

int a,

int b)

void

topsort()

}}intmain()

topsort()

;for

(int i = n -

1; i >=

0; i --

)for

(int i =

1; i <= n; i ++

)printf

("%d\n"

, f[i]

.count()

);return0;

}

可達性統計(拓撲排序)

給定一張n個點m條邊的有向無環圖,分別統計從每個點出發能夠到達的點的數量。n,m 30000。第一行兩個整數n,m,接下來m行每行兩個整數x,y,表示從x到y的一條有向邊。共n行,表示每個點能夠到達的點的數量。10 10 3 82 3 2 55 9 5 92 3 3 94 8 2 10 4 9163...

可達性統計 拓撲排序 bitset

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

upc 可達性統計 (拓撲排序 bitset)

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