淘寶軟件營銷網(wǎng)站建設(shè)品牌推廣策略包括哪些內(nèi)容
給定一個非負(fù)整數(shù)數(shù)列?a,初始長度為?N。
請在所有長度不超過?M?的連續(xù)子數(shù)組中,找出子數(shù)組異或和的最大值。
子數(shù)組的異或和即為子數(shù)組中所有元素按位異或得到的結(jié)果。
注意:子數(shù)組可以為空。
輸入格式
第一行包含兩個整數(shù)?N,M。
第二行包含?N?個整數(shù),其中第?i?個為?ai。
輸出格式
輸出可以得到的子數(shù)組異或和的最大值。
數(shù)據(jù)范圍
對于?20% 的數(shù)據(jù),1≤M≤N≤100
對于?50% 的數(shù)據(jù),1≤M≤N≤1000
對于?100%?的數(shù)據(jù),1≤M≤N≤10^5,0≤ai≤2^31?1
輸入樣例:
3 2
1 2 4
輸出樣例:
6
?這里用到trie樹存儲數(shù)據(jù),具體可參考最大異或?qū)Φ慕夥?/p>
http://t.csdn.cn/DD8lX
和trie樹的模板參考http://t.csdn.cn/wyvow
也是聲明son數(shù)組,從第31位開始存。這里用到了前綴異或和,當(dāng)超出m的限制時需要將區(qū)間往后移,所以額外聲明cnt數(shù)組來判斷該點是否存在所求的區(qū)間里,于是在插入操作時額外定義一個參數(shù)v表示插入或者刪去。
?以下是代碼詳解
?
?