CF2056C Palindromic Subsequences

· · 题解

题解

先扔结论:

第一种情况是样例,不用解释。

第二种情况可以发现最大的回文子序列的长度永远是 3,分别为:

总共有 2 \times (n - 3) 个,又 n > 6,所以构造是合法的。

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define dbg(x) cout << #x " = " << (x) << endl
#define quickio ios::sync_with_stdio(false);
#define quickin cin.tie(0);
#define quickout cout.tie(0);

using namespace std;

signed main() {
    quickio
    quickin
    quickout
    int t;
    cin >> t;

    while(t--) {
        int n;
        cin >> n;

        if(n == 6) {
            cout << "1 1 2 3 1 2\n";
            continue ;
        }
        cout << "1 2 ";
        for(int i = 3; i <= n - 2; i++) {
            cout << i << ' ';
        }
        cout << "1 2\n";
    }
    return 0;
}