Day 1 T1 异或粽子 题意:给出一个长为n的序列,选择K个不完全重合的区间使得每个区间的异或值的总和最大. 题解:先做一个前缀异或和,对于每一个右端点我们记录三元组(l,r,x)表示在左端点在\([l,r]\)内,最大异或值为x,塞进堆里.每次取出堆顶,并将该三元组对应的区间分裂成两个,重新扔回堆里.计算区间最大异或值利用可持久化字典树. 时间复杂度\(O(n\log n+K\log Maxvalue)\) #include <bits/stdc++.h> #define fo(i,a,…