【构造】CF1758 D

亦凉 2024-03-22 23:16 170阅读 0赞

Problem - D - Codeforces

题意:

0f1d5284e9964d37a6889cff4db258a4.png

思路:

如果需要构造一个和为定值的序列,那么考虑n-d,n-d+1,…..n+d-1,n+d这种形式

如果要保证不能重复,那么先考虑一个排列,然后在排列上操作

如果根据小数据构造出了一些简单情形,那么请继续使用这种构造方法构造别的情形

0f31ba42ace044c39b0b36f1a0a6aaf1.png

Code:

  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4. const int mxn=1e5+10;
  5. const int mxe=5e5+10;
  6. int N;
  7. void solve(){
  8. cin>>N;
  9. if(N%2==1){
  10. N++;
  11. for(int i=N/2+1;i<=N-1;i++) cout<<i<<" ";
  12. for(int i=N+2;i<=N/2+N+1;i++) cout<<i<<" \n"[i==N/2+N+1];
  13. }else{
  14. for(int i=N/2;i<=N-1;i++) cout<<i<<" ";
  15. for(int i=N+1;i<=N/2+N;i++) cout<<i<<" \n"[i==N/2+N];
  16. }
  17. }
  18. signed main(){
  19. ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
  20. int __=1;cin>>__;
  21. while(__--)solve();return 0;
  22. }

发表评论

表情:
评论列表 (有 0 条评论,170人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CF1214D

    CF1214D 题意: > 给你一个 $ n \\times m $ 的矩阵,求最少用多少个障碍,将 $ (1,1) $ 到 $ (n,m) $ 的路径堵死...

    相关 CF1208D

    CF1208D 题意; > 给你一个数组,要求支持单点修改和单点查询 解法: > 直接线段树搞一搞就没了。 CODE: includ...