题意
(n)个二元组((a_i,b_i)),(a_iin[0,10^9],b_iin [1,3]),有效区间([l,r])为区间内(cnt1,cnt2,cnt3)互不相等((cnt1)为(a_i=1)的数量),有效区间的权值为(oplus b_i)。求以(r=1sim n)为右端点的最大有效区间
做法
若忽略有效区间的限制,是一道可持久化trie的模板题
将(a)的数量求前缀和,每个位置相当于限制于一个三元组((x,y,z)),表示前缀(a)为(1)的数量(x)...
有效区间为(l),(x_r-x_{l-1},y_r-y_{l-1},z_r-z_{l-1})互不相等,将三元组修改成((x-y,x-z,y-z)),则限制变为(l-1)与(r)的三元组三维均不相等
考虑钦定相等的维,容斥计算存在性
有个常数优化就是若两维相等则另外一维必定相等,则原来的(8)棵trie可以写成(5)棵trie