CodeForces - 1438E Yurii Can Do Everything(暴力)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1438E Yurii Can Do Everything(暴力)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個長度為 n 的序列,求出滿足下列條件的區(qū)間個數(shù):
題目分析:首先一個結(jié)論是,這樣的區(qū)間并不是很多,所以暴力去查找即可,假設(shè)確定了左端點 l 后,假設(shè)其最高位為 highbit ,那么區(qū)間和的大小只要是小于等于 ( 1 << highbit + 1 ) 的都是有可能滿足條件的區(qū)間,枚舉左端點掃一遍,再枚舉右端點掃一遍,記得去重
下面簡單論證一下時間復(fù)雜度,對于每個點作為右端點來說,其最多被兩個 最高位為 k 的左端點所掃到,因為如果有三個及以上的,最高位為 k 的左端點掃到的話,那么 3 * 2^k > 2^(k+1),已經(jīng)不滿足上一段的約束條件了,所以該做法的時間復(fù)雜度為 nlog(max(a[ i ]))
代碼:
?
?
總結(jié)
以上是生活随笔為你收集整理的CodeForces - 1438E Yurii Can Do Everything(暴力)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 609E Mi
- 下一篇: CodeForces - 856B Si