为了能到远方,脚下的每一步都不能少.|

lmyyyy

园龄:2年8个月粉丝:7关注:10

4月7日总结

这道题的暴力做法是枚举所有的字串 求异或和,再总求和

更好的解法,关于异或,更好的解法就是 弄清楚异或的本质
异或的本质其实是 对每一个数的二进制位进行异或,于是我们维护
一个二进制异或和的表,然后从前到后依次推进。
异或和表是什么呢?
xor 表示异或
即 若前俩个数是 2 3
异或和表就是 2 + 3 + 2xor3
为了体现异或的本质我们用二进制表示 即 10 + 11 + 01
那么 异或和表就是 22,即每一位上的1的个数,和的值就是221+2*20

本文作者:lmyyyy

本文链接:https://www.cnblogs.com/lmyy/p/17301233.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   lmyyyy  阅读(11)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起