前置知识
\(popcount(n)\) 表示将 \(n\) 转为二进制后的数中 \(1\) 的个数。
结论
\[\sum_{i=1}^{n} \text{ popcount}(i)=\sum_{i=1}^{\left \lceil \log_{2}{n} \right \rceil-1 } \left [ (n>>(i-1))\text{&}1==1 \right ] \times (i\times 2^{i-1}+2^{i}\times \text {popcount}(n>>i) \]参考自:https://kaiserwilheim.github.io/OI/fast-popcnt-sum/
标签:right,text,sum,times,popcount,快速,left From: https://www.cnblogs.com/Multitree/p/17206752.html