【題解】[CCO2021] Travelling Merchant


先口胡一個,明天再來補代碼(

先考慮 \(-1\) 的情況,顯然沒有出邊的點是 \(-1\),將這樣的點和對應的邊刪掉,直到每個點都有出邊。顯然被刪掉的點都是 \(-1\),其余的點都不是 \(-1\)

對於剩下的邊,顯然 \(r_i\) 最大的邊如果走了,那么其他的邊隨便走,所以對應的 \(+p_i\) 沒有意義。我們直接刪掉這條邊,然后在起始點 \(a_i\) 打上 \(r_i\) 的標記表示到達這里后且資產 \(\ge\) 標記可以直接結束。

刪掉邊后 \(a_i\) 可能沒有出邊了,這又回到 \(-1\) 的情況,將對應的點和邊刪掉,然后找 \(r_i\) 最大的邊刪掉。最后將所有邊刪掉。

每個點的標記就是答案。

這道題的關鍵在於逆向思維和歸納法,如果順着模擬非常困難,但是從結束時的邊入手則非常清晰。每次刪除一條邊歸納下去也是關鍵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM