當前位置:
首頁 >
Jumping Monkey 并查集,反向思维
發布時間:2025/3/19
46
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Jumping Monkey 并查集,反向思维
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意 :
- n點的樹,每個點的點權distinct,求分別從每個點出發能到達的點數(被到達的點必須是路徑上點權最大的點)
思路 :
- 考慮點權最大的那個結點(假設為u),顯然不管從哪個結點開始跳一次,都可以跳到u,且不能越過u,也就是說到達u后不能跳到其它點,于是u一定是最優方案中最后一個到達的點。我們將結點u以及它相連的邊從樹上去掉,對剩下的每個連通塊遞歸進行上述過程即可獲得答案。
- 但要實現上述遞歸過程并不容易,轉而反向思考這個過程,按點權從小到大枚舉結點u,并將u作為所有與u相連的(已經枚舉過的)連通塊的根(用并查集維護,只連一個點可以將復雜度從O(n)降到O(logn))從而建立一顆新樹,每個結點的深度(根深度為1)即是答案
總結
以上是生活随笔為你收集整理的Jumping Monkey 并查集,反向思维的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nun Heh Heh Aaaaaaaa
- 下一篇: AcWing算法提高课 Level-3