线性基
hanyuweining
明日はきっと 明日はきっと 仆が世界の中心なので
展开
-
线性基学习笔记
补坑 线性基在我的理解来看,就是把原来较大的集合转换成最大的数的二进制位数大小的集合。通过这个操作可以用选择子集异或的形式表示出原集合。 基础实现 每次插入一个数就从高位到低位,如果这位是1的话,分两种情况。如果线性基里存在这一位了,那么这个数异或上线性基里的数,不然的话线性基里这一位数就是这个数啦。 代码实现很简单。 void build(ll x) { for(int i=lg-...原创 2018-09-03 14:55:37 · 317 阅读 · 0 评论 -
BZOJ4269 再见xor
考前挣扎 线性基裸题 mx直接求 次大直接从低到高枚举第一个非0位 然后次大就是异或上就行了【显然贪心呐qwq 不到800b可还行 //Love and Freedom. #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define inf 2...原创 2019-01-18 20:25:08 · 193 阅读 · 0 评论