CF1637G题解
通过打表发现,答案一定是 \(2\) 的次幂。
证明:
操作等价于矩阵转移:
假设最后全为 \(r\),假设 \(p|r\),并在 \(\bmod p\) 意义重新做一遍转移,最后序列变为全为 \(0\)。
我们发现,当矩阵\(\begin{pmatrix} 1&1\\-1&1 \end{pmatrix}\)在 \(\bmod p\) 意义下可逆时,原操作使可逆的。
但对于最后全是 \(0\) 的矩阵,它不可能乘上一个矩阵后变成不为 \(0\) 的矩阵,因此矩阵 \(\begin{pmatrix} 1&1\\-1&1 \end{pmatrix}\) 不可逆。
我们知道,矩阵不可逆当且仅当其行列式为0,而此矩阵行列式为 \(2\) ,因此 \(p\) 只能为 \(2\)。
若 \(r\) 有除了 \(2\) 以外的质因子,那么 \(p\) 选那个质因子就能让矩阵可逆,因此 \(r\) 只能是 \(2\) 的次幂。
大胆猜测,答案的最小值就是不小于 \(n\) 的最小的 \(2\) 的次幂。
如何构造答案?
因为 \((0,a)\),\((a,a)\) 可以搞出 \((0,2a)\),即翻倍,不难想到先把所有数消成 \(2\) 的次幂。
假设目前序列长度为 \(n\),答案是 \(x\),想到用与 \(x/2\) 对称的数去凑 \(x\)。
令 \(y=\frac{x}{2}\),则可以用 \((y-1,y+1),(y-2,y+2),\cdots,(x-n,n)\) 来凑出 \(x\),并留下操作前的 \(1,2,\cdots,x-n-1\) 和操作留下的 \(2,4,\cdots,2n-x\),前面的是规模减少的子问题,后面提出 \(2\) 后也是规模减少的子问题,于是可以递归求解。
令 \(solve(n)\) 为将 \([1,n]\) 全部消成 \(2\) 的次幂,于是在通过配对后递归调用 \(solve(x-n-1)\),\(solve(2n-x)\)。
这样就只剩下 \(2\) 的次幂了,这是很好操作的。
浙公网安备 33010602011771号