P6225 eJOI2019 異或橙子

2022-04-06 14:38:43 字數 693 閱讀 1810

miku

畫一畫圖就能知道規律

倘若詢問區間是偶數

畫圖可知,答案為零

為奇數,則為

\(a_l\)^\(a_\)·······\(a_r\)

然後奇數偶數分別開乙個 樹狀陣列

就行了

#include#include#includeusing namespace std;

long long n,q;

long long k;

long long ans;

long long l,r;

long long tree[200001][2];

long long a[200001];

long long lowbit(long long x)

long long find(long long x,long long f)

return ans;

}void up(long long x,long long y,long long f)

return ;

}long long x;

int main()else

} for(long long i=1;i<=q;++i)else

if(k==2)else

}else

} } return 0;

}

十二省聯考 2019 異或粽子

題目鏈結 演算法 首先把字首異或和統計出來,再將得到的每乙個字首異或和 包括pre 0 0 塞進字典樹中,接下來有乙個貪心的思路 每當我拿著其中乙個異或和的值時,我在字典樹中盡可能找二進位制高位與其對應的位不相同的異或和,這樣兩者異或運算後,所得值最大。所以我們有了這樣乙個思路,對於每乙個pre i...

十二省聯考2019 異或粽子

點此看題 方法1 發現這道題k kk很小,先考慮用字首和表示異或和,建出一顆tire text tire 樹,然後把每個點的最優值丟進優先佇列中 因為其他值沒有這個值優 然後依次取出,再把次大值塞進去。由於每個區間會被統計兩次,所以我們找2k2k 2k次,最後把答案除以2 22即可。方法2 和k k...

十二省聯考2019 異或粽子

其實和超級鋼琴那個題思路挺像的,就是我們弄乙個二元組,乙個pos,乙個sum。求一下字首異或和,然後在它pos前面的01trie裡面查詢第k大即可。如下 luogu judger enable o2 include include include include include include de...