2020 高階競程 Contest #5 - 題解
首殺 team20_23 (00:09)
解法說明
分成兩組:
如果 為偶數
如果 為奇數
標準程式
- Task Provider: Miohitokiri5474
- Task Setter: Miohitokiri5474
首殺 team20_33 (00:22)
解法說明
裸最短路尋找負環
拿 Bellman-Ford or SPFA 等演算法,假設有任意節點被更新超過 次即存在負環
標準程式
Bellman-Ford
SPFA(有加入優化)
- Task Provider: ys
- Task Setter: ys
首殺 team20_18 (00:28)
解法說明
解法 1
題目中提到賽車的路線是起點與終點相同的迴路,也就是說他是個環
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
如果城鎮就只是一個環的話,那麼只須找到環中成本最小的那路段就行了;
反過來思考,也可以將路段從大到小一個個排除,最後那段路段就是要求的。
同理,城鎮若是複雜的連通圖,將所有路段從大到小一個個選出,但若當前選出的路段與已選出的路段形成環,就表示當前選出的路段要設監視器,因為他是環中最小成本的路段。
其實上述的過程就是在找一個連通圖中的最大生成樹
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
解法 2
題目中輸入的邊權重 () 非常小,
於是基於 Counting sort 的概念,不需對邊做排序,從最大成本到最小成本使用邊即可。
標準程式
解法 1
解法 2
首殺 team20_37 (00:38)
解法說明
我們的目標是把 分成偶數或奇數,最簡單的作法就是分成 或
可以分為幾種狀況
偶 奇:一定要用偶數構成
偶 偶:都可以,但用 那組可以做出更多數
奇 奇:一定要用奇數構成
奇 偶:無法構成
另外當需要使用偶數構成,且 無法構成,當然,在任何情況下 無法構成。
此外要注意使用 long long
標準程式
- Task Provider: Miohitokiri5474
- Task Setter: Miohitokiri5474
首殺 team20_38 (00:11)
解法說明
就是裸 LCA(我甚至沒有包裝欸,可以回去看進階圖論那週的課程)
作法有三種,倍增法、Tarjan、輕重鍊剖分
標程是用倍增法
標準程式