Jzoj 1238 自行車比賽

2021-09-26 02:02:22 字數 900 閱讀 8180

自行車賽在乙個很大的地方舉行,有n

nn個鎮,用1

11到n

nn編號,鎮與鎮之間有m

mm條單行道相連,起點設在鎮1

11,終點設在鎮222。

問從起點到終點一共有多少種不同的路線。兩條路線只要不使用完全相同的道路就被認為是不同的。

很容易發現1

11到2

22的路線中,只要有環,則為inf

infin

f。(但實際上這道題有環但並沒有inf

infin

f這個答案)。

正解是乙個tar

ja

ntarjan

tarjan

縮點後,拓撲排序即可。

但既然這裡沒有inf

infin

f,那就偷點懶。直接dfs

dfsdf

s也可以。

#include#define m 1000000000

#define ll long long

using namespace std;

ll n,m;

ll a[10005];

bool flag;

queueq;

int ls[10005],cnt;

struct a

e[100005];

void add(int x,int y)

ll dfs(ll x)

return a[x];

}int main()

memset(a,-1,sizeof(a));a[1]=1;

dfs(2);

if(flag) printf("%09d",a[2]);

else printf("%d",a[2]);

}

JZOJ 1238 自行車比賽

description 自行車賽在乙個很大的地方舉行,有n個鎮,用1到n編號,鎮與鎮之間有m條單行道相連,起點設在鎮1,終點設在鎮2。問從起點到終點一共有多少種不同的路線。兩條路線只要不使用完全相同的道路就被認為是不同的。input 第一行兩個整數 n和m 1 n 10000,1 m 100000 ...

卸貨自行車

以下是文章主要內容 我第一次騎yuba supermarche載貨自行車的時候,它比起我那輛輕盈敏捷的汽車感覺就像是只笨拙的怪獸。但在舊金山騎了幾個星期之後,我顯然看到了城市交通的未來。你可以將載貨自行車看作是輕型的多用途運載車,可以用它來說送小孩上學,可以用它來裝載食品雜貨,也可以用它來將在好市多...

Vijos P1988 自行車比賽(treap)

思路 如果我們判斷第i個人是否能第一,只需要把盡量小的分值給分數最大的人,如果有人超過了他,就不能得第一。我們可以把n個人排序,讓2 n個人分別加上n 1 1,用treap維護最大值。轉移到下乙個人的時候,只需要把下乙個人的加分加到當前這個人上就行了。ps 用treap的原因是set被卡了。吐槽 s...