专栏文章

题解:CF2147B Multiple Construction

CF2147B题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@minlawgc
此快照首次捕获于
2025/12/02 04:16
3 个月前
此快照最后确认于
2025/12/02 04:16
3 个月前
查看原文

思路

一般本蒟蒻看到构造题时,总是先想办法找到通用解法。
由于数字越少间隔越小(如果有通解,间隔一般不会倍数错乱),我们让小的数排在中间,大的数排在外围,就会得到如下序列。
[n,n1,n2,,2,1,1,2,,n2,n1,n][n,n-1,n-2,\cdots,2,1,1,2,\cdots,n-2,n-1,n]
发现:如果在这个数列中,在两个 11 中插入一个数即可满足条件。它只能是移动后序列仍满足条件的 nn
最终序列如下。
[n1,n2,,2,1,n,1,2,,n2,n1,n][n-1,n-2,\cdots,2,1,n,1,2,\cdots,n-2,n-1,n]

代码

CPP
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        for(int i=1;i<n;i++) cout<<n-i<<' ';
        cout<<n<<' ';
        for(int i=1;i<=n;i++) cout<<i<<' ';
        cout<<"\n";
    }
    return 0;//抱歉没放AC记录
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...