站外题,求hack
  • 板块学术版
  • 楼主qpdk777
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/8/1 22:29
  • 上次更新2023/10/27 17:26:40
查看原帖
站外题,求hack
261932
qpdk777楼主2022/8/1 22:29

题目链接

题意简述:

构造一个含 nn 个元素的数列,所有元素的和为 mm ,每个元素都在 [1e7,1e7][-1e7,1e7] 之间,且不存在某三个元素能构成等差数列。

对于给定的 nnmm ,只要构造的数列符合题意就算正确。

我的思路:

只要令相邻的项之间的差成等差数列,那么原始数列肯定不是等差数列。

设数列 ana_n 满足 a1=k+1a_1=k+1 a2=a1+2a_2=a_1+2 a3=a2+3a_3=a_2+3 ............ an=k+1+2+...+n=k+n(n+1)2a_n=k+1+2+...+n=k+\frac{n(n+1)}{2}

再对以上式子累加:

i=1nai=nk+n3+3n2+2n6\sum_{i=1}^{n}{a_i}=nk+\frac{n^3+3n^2+2n}{6}

令上式等于 mm 可解得

k=mnn2+3n+26k=\frac{m}{n}-\frac{n^2+3n+2}{6}

则数列 ana_n 就可根据 kk 值递推得出。

如果不能整除,那么k下取整,最后一项单独计算即可。

然后就过了样例。

然后就WA了。

然后跪求各位dalao能给个hack。。。。。

2022/8/1 22:29
加载中...