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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步