ac 梦幻布丁 启发式合并
生活随笔
收集整理的這篇文章主要介紹了
ac 梦幻布丁 启发式合并
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意:中文題。
對(duì)于每種顏色,我們都可以看成一個(gè)集合。讓后把一種顏色變成另一種顏色就轉(zhuǎn)換成了把兩個(gè)集合的合并問(wèn)題。顯然我們有一個(gè)復(fù)雜度為O(NlogN)O(NlogN)O(NlogN)的啟發(fā)式合并能完美的解決這個(gè)問(wèn)題。
解決合并問(wèn)題了,現(xiàn)在需要解決如何在合并的時(shí)候更新答案呢?顯然如果我們將一段連續(xù)的顏色改成另一種顏色將有三種情況,總段數(shù)可能不變,可能減一,可能減二。而如果答案要減的時(shí)候,我們只需要看一下當(dāng)前數(shù)前后兩個(gè)數(shù)是否為要變成的顏色,是的話就需要分情況減了。
還有個(gè)小問(wèn)題,就是我們需要將集合大小小的合并到大的,這樣就會(huì)產(chǎn)生一些小問(wèn)題,比如我們小的集合是要變成的顏色。要解決也比較容易,可以開(kāi)一個(gè)數(shù)組P,來(lái)映射每種顏色,如果出現(xiàn)上述情況的話直接交換映射的值即可。
總結(jié)
以上是生活随笔為你收集整理的ac 梦幻布丁 启发式合并的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hills And Valleys Co
- 下一篇: 焦三仙的功效与作用、禁忌和食用方法