题解 CF1785D - Range = √Sum
构造有
-
并且 。 -
对于任何的
, 。 -
。
显然构造题。
我们假设
显然最简单的序列是
我们记
我们把整个序列
显然可以把整个序列加上
就可以了。
肯定还有剩下没有加进去的
让第
//Range = √Sum.cpp
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int long long
const int N = 3e5 + 10;
int a[N];
void solve() {
memset(a, 0, sizeof a);
int n; cin >> n;
int sum = 4 * n * n;
for (int i = 1; i <= n - 1; ++i) a[i] = i;
a[n] = 2 * n + 1;
int tot = 0;
for (int i = 1; i <= n; ++i) tot += a[i];
int d = (sum - tot) / n;
a[n - 1] += sum - tot - d * n;
for (int i = 1; i <= n; ++i) cout << a[i] + d << ' ';
cout << '\n';
}
signed main() {
ios::sync_with_stdio(false); cin.tie(0), cout.tie(0);
int T; cin >> T; while (T --) solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】