Codeforces Round #588 (Div. 2) E. Kamil and Making a Stream 数学 + 暴力
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #588 (Div. 2) E. Kamil and Making a Stream 数学 + 暴力
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
給你一顆樹,其中根是111,每個(gè)點(diǎn)有一個(gè)點(diǎn)權(quán),求每個(gè)點(diǎn)到根的所有路徑的gcdgcdgcd之和。
n≤1e5n\le1e5n≤1e5
思路:
一看到以為是個(gè)點(diǎn)分治,讓后發(fā)現(xiàn)不是任意點(diǎn)對(duì)所以顯然不能用點(diǎn)分治來做。
后來想了半天也只想到一個(gè)暴力,沒想到還真是個(gè)暴力。
考慮從根到點(diǎn)iii的路徑上同的gcdgcdgcd個(gè)數(shù),可以證明最多有log2(1012)log_2(10^{12})log2?(1012)個(gè),所以每個(gè)點(diǎn)都繼承一下父節(jié)點(diǎn)的值即可,由于需要用mapmapmap維護(hù),所以復(fù)雜度O(nlog22(1012))O(nlog^2_2(10^{12}))O(nlog22?(1012))。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #588 (Div. 2) E. Kamil and Making a Stream 数学 + 暴力的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YUV数据格式详解
- 下一篇: Educational Codeforc