简单构造题,但是没有场切。
首先,因为 1 是完全平方数,我们可以轻松的构造出来形如 112233
的方案。一看数据范围,n \le 2 \times 10^5,不用超过使用种类限制。我们就优雅的解决了 n 为偶数的情况。
接下来考虑 n 为奇数的情况。有上面的启发,我们想到使某一个数出现奇数次,将多出来的这空缺补上。出现的次数,当然是 3 次。因为构造出现次数大于 3 的太麻烦了。
我们假设它出现的位置从左到右分别为 a,b,c,它们就满足 c-a,c-b,b-a 均为完全平方数。注意到 c-a=(c-b)+(b-a),所以它们三个是一组勾股数!
很容易想到 3,4,5 这一组最小的勾股数。为了方便我们钦定这个数字第一次出现的位置 a 为 1,我们就可以推出 b,c 的值分别为 10,26。
代码很简单,就不放了。