[hdu] 5696 区间的价值 || 序列分治
生活随笔
收集整理的這篇文章主要介紹了
[hdu] 5696 区间的价值 || 序列分治
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原題
我們定義“區(qū)間的價(jià)值”為一段區(qū)間的最大值*最小值。
一個(gè)區(qū)間左端點(diǎn)在L,右端點(diǎn)在R,那么該區(qū)間的長(zhǎng)度為(R?L+1)。
求長(zhǎng)度分別為1~n的區(qū)間的最大價(jià)值。
保證數(shù)據(jù)隨機(jī)
因?yàn)楸WC數(shù)據(jù)隨機(jī),所以我們可以考慮用區(qū)間的最大值把這個(gè)區(qū)間分為兩個(gè)部分,這樣答案的貢獻(xiàn)就有兩種情況。
1、在同一個(gè)區(qū)間里
2、跨過(guò)最大值,在兩個(gè)區(qū)間里
情況1通過(guò)遞歸就變成了情況2,而情況二我們通過(guò)two-points來(lái)完成。記錄l指針和r指針,因?yàn)樗鬄樽畲笾?#xff0c;所以選取l和r指針較大的內(nèi)個(gè)加入,并每次更新答案即可。
因?yàn)閿?shù)據(jù)隨機(jī),所以O(shè)(nlogn)
轉(zhuǎn)載于:https://www.cnblogs.com/mrha/p/8031212.html
總結(jié)
以上是生活随笔為你收集整理的[hdu] 5696 区间的价值 || 序列分治的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 可打开可关闭的选项卡,单纯无污染,改改样
- 下一篇: 新建一个Windows Service的