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