CF1878B题解

发布时间 2023-10-24 23:03:05作者: 蒟蒻炖蒟蒻

CF1878B Aleksa and Stack

题目翻译

给定 \(n\),试构造一个长度为 \(n\)严格上升正整数序列 \(a_1, a_2, a_3, ..., a_n\) 使得 \(\forall i \in [3, n], (a_{i - 1} + a_{i - 2}) \nmid 3a_i\)

单个测试点内包含多组测试数据

思路

拿到题目,发现不好一个数一个数地构造,考虑找到一个普适的构造方法。

最好的方法还是研究一些数据。那么从最简单的公差为 \(1\) 的等差数列研究起。

对于这样一个序列,考虑取出三个连续的数,分别记为 \(x\)\(x + 1\)\(x + 2\)

如果这个序列不合法,那么一定存在一个 \(x\),使得

\[3(x + 2) = k(x + x + 1), k \in N^* \]

解得

\[x = \dfrac{k - 6}{3 - 2k} \]

分离常数有

\[x = -\frac{1}{2} - \dfrac{9}{4k - 3} \]

\[x = -\frac{1}{2} \left(1 + \dfrac{9}{4k-3} \right) \]

当且仅当 \(1 + \dfrac{9}{4k-3}\) 为负偶数时,\(x\) 满足要求。最终解得 \(x = 0\)\(x = 1\)\(x = 4\)

答案也就显而易见了,直接从 \(5\) 开始输出公差为 \(1\) 的等差数列即可。

Code