直接看题感觉都能猜了;
如果n为奇数则可以,反之NO;
然后观察下标关系:
如果x=1,那么n+1位置上必定为2;
然后在根据案例就可以斗出来了:
如果i为奇数a[i]=2i-1,a[i+n]=2i;反之a[i]=2i,a[i+n]=2i-1;
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn=2e5+10;
ll n,a[maxn];
int main(){
scanf("%lld",&n);
if(n&1){
puts("YES");
for(ll i=1;i<=n;i++){
if(i&1){//奇数偶数规律
a[i]=2*i-1;
a[i+n]=2*i;
}else{
a[i]=2*i;
a[i+n]=2*i-1;
}
}
for(int i=1;i<=2*n;i++){
printf("%lld%c",a[i],i==2*n?'\n':' ');
}
}else{
puts("NO");
}
return 0;
}