随笔分类 - 数论——线性基
摘要:题目链接:https://ac.nowcoder.com/acm/contest/884/B 题目大意: 有n个集合,每个集合有若干元素,一个集合i能表示x,当且仅当存在一个集合i的子集合,这里面的元素异或值为x。 有m个询问:每个为x,l,r,如果任意一个集合i (i在[l,r])都能表示x,输出
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/881/H 题目大意:给定n个整数,求满足子集异或和为0的子集大小之和。 解题报告: 先把n个数分成两部分,线性基外与线性基内 1. 对n个数试着插入线性基,如果不能插入,证明它能被线性基内的数异或得到,即这个数的贡献
阅读全文
摘要:题目链接:https://www.luogu.org/problem/P3857 解题报告: 给出一个序列,让你求出异或后有多少种可能的情况。 将给的数插入到线性基中,最后答案即为$(1LL<<res)%2008$,res为线性基的种类数。 AC代码: 1 #include<vector> 2 #i
阅读全文
摘要:题目链接:https://www.luogu.org/problem/P3292 解题报告:看到异或和最大,首先想到线性基,然而是在树上的,就考虑倍增LCA然后暴力插入线性基! AC代码: 1 #include<vector> 2 #include<cstdio> 3 #include<iostre
阅读全文
摘要:题目链接:https://www.luogu.org/problem/P4570 题目大意: 给一个序列,在这个序列中选一些数,这些数的魔法值之和要最大,要求这些数中任意几个数的异或和不为0。 解题报告: 贪心法,按魔法值最大的取,如果能插入线性基,就选中这个数。为什么这样选是对的呢,考虑三组数a[
阅读全文
摘要:题目链接:https://www.luogu.org/problem/P3812 题目大意:给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大 题解:线性基的模板题,直接套模板! AC代码: 1 #include<vector> 2 #include<cstdio> 3 #i
阅读全文

浙公网安备 33010602011771号