[USACO23DEC] Minimum Longest Trip G

Yorg發表於2024-10-18

演算法

簡單演算法

DAG 上最長路很好實現, 即按照拓撲序 dp

設已經知道最長路答案為 \(f_x\)
現將每個點按照 \(f_x\) 分層, 最小層級沒有出邊, 顯然字典序排名相同
推導下一層時, 對於出邊 \((u, v)\) , 按照邊權為第一關鍵字, 上一層的 \(v\) 的排名為第二關鍵字排序, 即可得到字典序最小的最長路

對每一層, 處理完時再排序即可繼續推導

程式碼

總結

對於有多個問的題目, 考慮在解決一個問時的本質, 並從此下手解決問題

較複雜演算法

相關文章