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)\)

posted @ 2023-06-27 22:00  xx019  阅读(10)  评论(0编辑  收藏  举报