经典结论

对于任意序列 \(\{a_m\}\) 满足 \(a_i\in \mathbb{N}\)\(\sum_{i=1}^m a_i\cdot i\le m\) ,有 \(\sum_{i=1}^m\log_2(a_i+1)=O(\sqrt m)\)

证明:

\(\sum_{i=1}^m\log_2(a_i+1)\)\(a\) 的权值(记为 \(f(a)\)),等价于证明权值最大的序列 \(a\) 的权值 \(\le c\sqrt m\) ,其中 \(c\) 是一个常数。

为了让权值最大,会让 \(a\) 单调递减。

\[\begin{align} &\sum_{i=1}^m\log_2(a_i+1)\le2\sum_{i=1}^m\lfloor\log_2(a_i+1)\rfloor \\\le&2\sum_{j=1}\sum_{i=1}^m[a_i\ge 2^{j}-1] \\\le&2\sum_{j=1}\sum_{i=1}^m[\frac{i(i+1)}2\times(2^{j}-1)\le m] \\\le&2\sum_{j=1}\sum_{i=1}^m[i^2\times 2^{j}\le 4m] \\\le&2\sum_{j=1}\lfloor\sqrt{\frac{4m}{2^j}}\rfloor \\\le&4\sum_{j=1}(\frac1{\sqrt 2})^j\sqrt m \end{align} \]

注意到 \(\sum_{i=1}k^i\)\(0<k<1\) 时是收敛的,所以原式 \(\le c\sqrt m\)

证毕。

posted @ 2024-11-15 19:28  Z_301  阅读(7)  评论(0)    收藏  举报