CodeForces - 1325F Ehabs Last Theorem(dfs树找最大环)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1325F Ehabs Last Theorem(dfs树找最大环)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個由 n 個結點和 m 條邊構成的無向圖,再給出一個 k ,需要在圖中完成下面任意一種操作:
題目分析:看了 dls 的視頻后感覺這個題目也就那回事,主要是 思路 + 證明 比較難想,有了結論后實現倒是非常簡單
首先證明一下一定有解:假設圖中存在一個長度大于等于??的環,那么顯然滿足情況 2 ,直接輸出即可
如果圖中不存在長度大于等于??的環,也就是說在 dfs 樹上的任意兩個點 x , y 如果距離大于等于??的話,?一定是沒有非樹邊相連的,這樣我們就可以在取獨立集時,每次都取相距恰好為??的點,換句話說,這些點的深度 deep 在對??取模后都是相同的,根據鴿巢原理,一共有??組,一共有 n 個點,n 個點分成??組,即下面的這個公式顯然成立,?,換句話說,肯定有一組中的個數是大于等于??的,也就滿足了第一種情況,證畢
證明結束后,我們就可以在dfs樹上找到最大環,然后分類討論了
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1325F Ehabs Last Theorem(dfs树找最大环)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1364C E
- 下一篇: HDU - 5788 Level Up(