啦啦操伪娘!

关于伪娘啦啦操

我们首先从or开始,因为or比较好理解。

因为数据范围是2^30次方,所以or的突变情况只有30次.
所以or的情况是单增的,那么我们就先对这个情况排个序,使他满足位数单增,也就是当k位突变的时候,前k-1位不突变。
所以假定一个端点固定,我们这里既定右端点,则存在一段区间L1到L2第k位不突变,所以or的情况一定,也就是在L1~L2区间内xor(L-1……r)=or娘权值总和,移项转化得到娘权值xor(L-1……r)=伪权值xor前缀和


那么关于排序,我们应该怎么处理呢

我们可以开一个数组p大小是30(因为前文提到最多突变30次),然后对于每一个娘权值,更改p的情况(每一位是否突变)。(对于这一步,要进行copy,因为后面的情况要重新计算)然后进行排序,满足第k位突变时,前面k位不突变
先写到这里···然后把整体的解法以及代码发过来,感谢董神qwq

来源:白酒蒿

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月23日
下一篇 2019年1月23日

相关推荐