當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)
生活随笔
收集整理的這篇文章主要介紹了
P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
P5502 [JSOI2015]最大公約數
對于求解(r-l+1)*gcd(l,r)的最大值,首先我們有一個性質,就是一個前綴的gcd本質不同個數只有log個,所以我們可以利用這個性質,然后每次分治處理,每一層的復雜度可以做到O(n)因為枚舉前綴后綴被優化到了O(log2n)O(log^2n)O(log2n) 所以可以直接暴力,總復雜度為O(nlogn)
另外還有一個方法,直接不用分治,而是直接枚舉右端點,這樣每次只有O(logn)O(logn)O(logn)個左端點是有用的,然后由于gcd本質上是min,所以不好刪除但是方便加入,每次加入最右邊一個數可以發現左端點的位置不會變化太大,只會有一些點發生合并,所以O(logn)O(logn)O(logn)重新維護即可。
總結
以上是生活随笔為你收集整理的P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: 老人头菌的功效与作用、禁忌和食用方法
- 下一篇: 柴胡桂枝干姜汤的功效与作用、禁忌和食用方