題解 洛谷P1983 NOIP2013 車站分級

2022-07-02 17:12:12 字數 802 閱讀 6503

題面

不難想到拓撲排序

於是每乙個等級高的向等級低的連一條邊

考慮拓撲排序過程中的分層

對於每個點進行分層

於是答案就是這些點中的最大層數

然後就會re

發現我們多連了一些重複的邊

用乙個標記陣列記錄兩個點之間是否連邊即可

#include using namespace std;

inline int gi()

while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();

return f * x;

}const int maxn = 1003;

int n, m, ans, g[maxn][maxn]/*輸入陣列*/;

int viss[maxn], b[maxn][maxn]/*標記是否連邊*/, ceng[maxn]/*分層*/, in[maxn]/*統計入度*/;

vector vv[maxn];//存圖

inline void topsort()//拓撲排序

} for (int i = 1; i <= n; i+=1) ans = max(ans, ceng[i]);//計算答案

}int main()

for (int j = g[i][1]; j <= g[i][g[i][0]]; j+=1)}}

} }topsort();

printf("%d\n", ans);//輸出答案

return 0;

}

洛谷 P1983 車站分級

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

洛谷p1983 車站分級

日常題前廢話 真的感覺估計圖論題的邊數是個unbelievable的玄學操作啊qwq 然後去翻白書 乙個n階的完全無向圖含有n n 1 2條邊,乙個n階的完全有向圖含有n n 1 條邊。這裡階好像是點數?就是因為沒估計好邊數,然後wa了好幾次emmm 然後這道題用到拓撲排序,因此然後所以 你看這個部...

洛谷P1983 車站分級

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