啦啦操伪娘!

关于伪娘啦啦操

我们首先从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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值