洛谷p1983 車站分級

2022-02-19 21:05:23 字數 1252 閱讀 1854

日常題前廢話:

真的感覺估計圖論題的邊數是個unbelievable的玄學操作啊qwq

然後去翻白書:乙個n階的完全無向圖含有n*(n-1)/2條邊,乙個n階的完全有向圖含有n*(n-1)條邊。(這裡階好像是點數???)

就是因為沒估計好邊數,然後wa了好幾次emmm

然後這道題用到拓撲排序,因此然後所以

你看這個部落格它又大又圓,感覺好多東西都明日復明日,明日何其多了。

首先這道題是已知線路,讓求最小分級數,咱也不知道為啥就用拓撲排序解了,反正就是用拓撲排序做就對啦。

然後首先是建圖連邊,這裡我們的連邊是在起點到終點之前所有的點中,從沒停的點向停了的點連一條邊,然後要注意不要連重邊減小時間複雜度(然後還要注意的是連邊是講起點與終點之間的車站進行連邊,並不是所有的都連邊)。

樣例第一條線路連邊

樣例第二條線路連邊:

這整個樣例的圖(我猜會非常擁擠然後沒有然後)

首先掃瞄所有入度為0的點,將他們的級別設成1,加入佇列。

然後進行while的(應該是bfs)  

code:

#include#include

#include

#include

#include

#include

using

namespace

std;

int n,m,head[2010],cnt,a[2010][2010],vis[2010],t[2010],du[2010],jb[2010][2010

];struct

nodeedge[

2010000

];void add(int

from,int

to)queue

q;intmain()}}

}}for(int i=1;i<=n;i++)

}while(!q.empty())

} }

sort(t+1,t+n+1

); cout

}

end-

洛谷 P1983 車站分級

一條單向的鐵路線上,依次有編號為 1,2,n 的 n 個火車站。每個火車站都有乙個級別,最低為 1 級。現有若干趟車次在這條線路上行駛,每一趟都滿足如下要求 如果這趟車次停靠了火車站 x,則始發站 終點站之間所有級別大於等於火車站 x 的都必須停靠。注意 起始站和終點站自然也算作事先已知需要停靠的站...

洛谷P1983 車站分級

被普及組的題嚇到了 其實是我對拓撲排序的理解不夠.這個題可以轉化成乙個求最大層次的問題.理論上可以暴力建樹然後求深度,也可以用拓撲排序.然後注意一下建圖時不要重邊就好了.考慮到這個題目的需求和規模,我們使用矩陣存圖.include include include include include in...

洛谷P1983 車站分級

一條單向的鐵路線上,依次有編號為 1,2,n 的 n 個火車站。每個火車站都有乙個級別,最低為 1 級。現有若干趟車次在這條線路上行駛,每一趟都滿足如下要求 如果這趟車次停靠了火車站 x,則始發站 終點站之間所有級別大於等於火車站 x 的都必須停靠。注意 起始站和終點站自然也算作事先已知需要停靠的站...