社区讨论

站外题,求hack

学术版参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo8eslw5
此快照首次捕获于
2023/10/27 17:26
2 年前
此快照最后确认于
2023/10/27 17:26
2 年前
查看原帖
题意简述:
构造一个含 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。。。。。

回复

2 条回复,欢迎继续交流。

正在加载回复...