6月AT杂题
AtCoder Beginner Contest 307
G - Approximate Equalization
好蠢的 G,但居然是 *2330。
显然所有数一定是 \(x,x+1\) 之一。因为操作不会让整个数列的和发生变化,所以我们可以求出 \(x,x+1\) 的具体值以及出现个数。定义 \(f_{i,j}\) 表示前 \(i\) 个数中有 \(j\) 个 \(x+1\),因为 \(a_1\) 到 \(a_{i-1}\) 的和可以计算,\(a_{i+1}\) 到 \(a_n\) 还没有发生过变化,故你可以计算出当前的 \(a_i\)。枚举 \(a_i\) 是取 \(x\) 还是 \(x+1\) 即可。时间复杂度 \(O(n^2)\)。