小a有n個數,他提出了乙個很有意思的問題:他想知道對於任意的x, y,能否將x與這n個數中的任意多個數異或任意多次後變為y
第一行為乙個整數n,表示元素個數第二行一行包含n個整數,分別代表序列中的元素
第三行為乙個整數q,表示詢問次數
接下來q行,每行兩個數x,y,含義如題所示
輸出q行,若x可以變換為y,輸出「yes」,否則輸出「no」
示例1複製
5複製1 2 3 4 5
36 7
2 13 8
yesyesno
對於(6,7)來說,6可以先和3異或,再和2異或對於(2,1)來說,2可以和3異或
對於(3,8)來說,3不論如何都不能變換為8
對於100%的資料,n,q<=105保證所有運算均在int範圍內
#includeusing namespace std;
typedef long long ll;
#define rep(i,a,b) for(int i=a;i=a;--i)
const int n=1e5+10;
ll a[n],p[70];
void inser(int n)
a[i]^=p[j];}}
}}int main()
inser(n);
int m;
scanf("%d",&m);
while(m--)
}if(tmp)printf("no\n");
else printf("yes\n");
}return 0;
}
牛客17968 xor序列(線性基學習)
f f就取 每個整數都可以看作乙個向量,v vv就取輸入的整數集合誘導出的向量集合。線性基本質上是一組基向量,只不過形式上我是用整數表示的。用b kb k bk 表示最高位的1 11在第k kk位的向量 整數 對於乙個新加入的數p pp 其實就是乙個向量 從最高位開始掃,發現當前位 第k kk位 等...
線性基 BZOJ 4269 再見Xor
划水中。遲早要完 顯然要線性基。考慮求k k 大。對於基的每乙個位置,因為其最高非零位就是位置標號,那看一下 k role presentation k k的這一位是否為 1 1 看是否要異或上 或者不異或 使得這一位得到的答案較大。include define show x cerr x x en...
線性基 HDU3949 XOR 題解
給出 n n 個數,求選出的非空集合中異或和第 k role presentation k k小的異或和 異或和相同算一次 沒有 k k 個輸出 1 role presentation 1 1。如果構造線性基時將矩陣消成對角矩陣,得到的線性基就有乙個很棒的性質 最高位為 i i 的數至多只有乙個,且...