#include <iostream>
using namespace std;
void solve()
{
int n;
cin >> n;
int flag = 0;
if(n == 2) ;
else if(n / 2 % 2 == 0)
{
flag = 1;
}
else ;
int num1 = 0 ,num2 = 0;
if(flag)
{
cout << "YES" << '\n';
for (int i = 1;i <= n / 2;i++)
{
cout << 2 * i << " ";
num1 += (2 * i);
}
for (int i = 0;i < n / 2 - 1;i++)
{
cout << 2 * i + 1 << " ";
num2 += (2 * i + 1);
}
cout << num1 - num2 << '\n';
}
else {
cout << "NO" << '\n';
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int t = 1;
cin >> t;
while(t--) solve();
return 0;
}
这题很好理解,并不需要你真的挨个去试,举个例子当n=8时,前n/2随便举例为2 4 6 8,后n/2就是1 3 5和x(x = 8 + 3),前3个比较会发现都只大1那么就说明只要n/2为偶数那么x必定会加一个奇数,故使前后分别满足奇偶条件且加和相等

京公网安备 11010502036488号