
线性基
HOWARLI
自己选择的路,就算跪着也要走完!
展开
-
【JZOJ 5204】【GDOI2018模拟7.6】吃干饭
Description多组询问,对于每组,要求回答用l~r中的数,可以异或出多少个不同的数。Solution这题用线性基 首先可以把l强制加入线性基中, 那么,接下来加入的数一定要大于l,于是就从小到大加入线性基中, 从二进制的低位往高位找,找到一个0就把它变成1,把这位以后的变成0,也就是模拟进位,当然,找到的这位在线性基中要是空的, 找到了,就把它加入到这一位的线性基中,答案*2,复杂度原创 2017-07-12 22:15:39 · 481 阅读 · 0 评论 -
【JZOJ 5239】 【GDOI2018模拟8.7】图的异或
DescriptionSolution答案显然是统计所有的简单环,把它的异或值加线线性基, 简单环则在dfs树上找返祖边, 最后统计线性基答案即可, 这里要用到线性基的性质: 把所有能组合出的数写出, 对于每一个二进制位,它要不一定为0,要不作为0出现的次数和作为1出现的次数相等, 所有用这个性质,直接统计答案即可。复杂度:O(nlog(260))O(n\log(2^{60}))Code原创 2017-08-07 22:29:11 · 547 阅读 · 0 评论