當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)
生活随笔
收集整理的這篇文章主要介紹了
P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
P5502 [JSOI2015]最大公約數(shù)
對(duì)于求解(r-l+1)*gcd(l,r)的最大值,首先我們有一個(gè)性質(zhì),就是一個(gè)前綴的gcd本質(zhì)不同個(gè)數(shù)只有l(wèi)og個(gè),所以我們可以利用這個(gè)性質(zhì),然后每次分治處理,每一層的復(fù)雜度可以做到O(n)因?yàn)槊杜e前綴后綴被優(yōu)化到了O(log2n)O(log^2n)O(log2n) 所以可以直接暴力,總復(fù)雜度為O(nlogn)
另外還有一個(gè)方法,直接不用分治,而是直接枚舉右端點(diǎn),這樣每次只有O(logn)O(logn)O(logn)個(gè)左端點(diǎn)是有用的,然后由于gcd本質(zhì)上是min,所以不好刪除但是方便加入,每次加入最右邊一個(gè)數(shù)可以發(fā)現(xiàn)左端點(diǎn)的位置不會(huì)變化太大,只會(huì)有一些點(diǎn)發(fā)生合并,所以O(logn)O(logn)O(logn)重新維護(hù)即可。
總結(jié)
以上是生活随笔為你收集整理的P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 老人头菌的功效与作用、禁忌和食用方法
- 下一篇: P4055 [JSOI2009]游戏(二