Kill Demodogs
题意
大意是求
思路
n项平方和求法:
1 + 4 + 9 + 16 + .... +
= 1 * 1 + 2 * 2 + 3 * 3 + ... + n * n
= (1 + 2 + 3 + ... + n) + (1 * 2 + 2 * 3 + ... + (n - 1) * n)
= n * (n + 1)/ 2 + (1 * 2 * 3 + 2 * 3 * 3 + 3 * 3 * 4 + ... + 3 * (n - 1) * n) / 3
= n * (n + 1) / 2 + (1 * 2 * 3 + 2 * 3 * 4 - 1 * 2 * 3 + 3 * 4 * 5 - 2 * 3 * 4 + ... + (n - 1) * n * (n + 1)) / 3
= n * (n + 1) / 2 + (n - 1) * n * (n + 1) / 3
(1 * 2 + 2 * 3 + ... + (n - 1) * n)
= (1 * 2 * 3 + 2 * 3 * 3 + 3 * 3 * 4 + ... + 3 * (n - 1) * n) / 3
= (1 * 2 * 3 + 2 * 3 * 4 - 1 * 2 * 3 + 3 * 4 * 5 - 2 * 3 * 4 + ... + (n - 1) * n * (n + 1)) / 3
= (n - 1) * n * (n + 1) / 3
相加即可
void solve() {
LL n;
cin >> n;
LL sum = 0;
if (n % 3 == 0) {
sum = n * (n + 1) / 2 % MOD + n * (n + 1) / 3 % MOD * (n - 1) % MOD + n * (n + 1) / 3 % MOD * (n - 1) % MOD;
}else {
sum = n * (n + 1) / 2 % MOD + (n - 1) * (n + 1) / 3 % MOD * n % MOD + (n - 1) * (n + 1) / 3 % MOD * n % MOD;
}
sum = 2022 * sum % MOD;
cout << sum << endl;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步