
题意
给出n个数组(每组数个数不定),m个询问 l, r, x
序号在区间$[l,r]$的每个数组是否都可以取出任意个数异或出x
题解
判断一个数组能否异或出x,是简单的线性基问题
判断多个线性基能否异或出x只需求出这些线性基的交,在交线性基上判断能否异或出x,多个线性基的交一定能被每个线性基分别表示,利用线段树维护区间线性基交就行,线性基求交模板是牛客上扒的咖啡鸡的
代码
1 |
|

给出n个数组(每组数个数不定),m个询问 l, r, x
序号在区间$[l,r]$的每个数组是否都可以取出任意个数异或出x
判断一个数组能否异或出x,是简单的线性基问题
判断多个线性基能否异或出x只需求出这些线性基的交,在交线性基上判断能否异或出x,多个线性基的交一定能被每个线性基分别表示,利用线段树维护区间线性基交就行,线性基求交模板是牛客上扒的咖啡鸡的
1 | #include <bits/stdc++.h> |