个人感觉这题不太像是面试的题目更像是算法竞赛中的题目风格,在面试题目中应该算是比较难的那档 了,感觉很多面试的题单中对于这种位运算思维的计数dp都没怎么练过。 本人是算法竞赛的选手,首先看到这题的求的计数,存在明显的递推关系,考虑定义状态dp[i]表示以i结 尾的所有连续子数组的贡献。接着我们考虑如何转移这个dp,不难发现,dp[i - 1]的贡献在dp[i]时都 会产生,可以画个图自己思考下,我们令dp[i] = dp[i - 1],但此时我们还没有考虑我们对新添加的数 字对于答案的贡献,我们不能再合理的时间复杂度内维护每个数字的出现次数,所以考虑按位拆分,统计 二进制中每一位的出现次数,可...