这是本文档旧的修订版!
给定 $n$ 个数 $a_i$,要求数列 $b$ 满足
要求最小化 $\sum b_{i,j}^2$。
考虑函数 $f(i,j)$ 表示将 $a_i$ 分成 $j$ 份时的答案,显然均分为最佳策略。
考虑维护 $f(1,k_1),f(2,k_2)\cdots f(n,k_n)$,初始时 $k_i=1$。
每次操作选择一个 $i$,使得 $f(i,k_i)\to f(i,k_i+1)$,显然选择减小值最大的数最佳,可以优先队列维护。
共进行 $k$ 次操作(包括初始 $n$ 次入队操作),时间复杂度 $O(k\log n)$。