CodeForces - 1334D Minimum Euler Cycle(构造+模拟)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1334D Minimum Euler Cycle(构造+模拟)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個由 n 個頂點組成的完全圖,求出一個從點 1 出發的歐拉回路,使得字典序最小,不知道歐拉回路的同學請自行百度
題目分析:字典序最小,那么就說明讓序號小的頂點在前面,那么一開始肯定是從點 1 到其他頂點然后再回來是最優的,舉個例子,當 n = 5 時,與點 1 相連接的序列可以為 1 2 1 3 1 4 1 5 ,注意,到了點 n 后,如果再回到點 1 的話,那會使得無路可走了,所以此時可以從點 n 再到點 2 ,再重復上述操作得到的序列為 2 3 2 4 2 5 ,一直這樣操作,最后能得到一個由 n * ( n - 1 ) + 1 個點的序列,因為這個序列在極限數據的情況下能達到 1e10 ,所以題目只要求輸出 [ l , r ] 區間內的這段答案就好了,鑒于已經想出了構造方法,剩下的我們可以寫一個函數 cal( i ) ,返回位置 i 是哪個頂點就好了,至于 cal 函數的實現,我們可以用二分定位一下,然后根據奇偶確定答案,實際實現起來比較簡單
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1334D Minimum Euler Cycle(构造+模拟)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1334C C
- 下一篇: CodeForces - 1339C P