bzoj 4975: [Lydsy1708月赛]区间翻转【博弈论】
必败状态是倒序排列,也就是正序对为0
然后发现,每次翻转都是有奇数个数对(\( C_{4x+2}^{2} C_{4x+3}^{2} \) 都是奇数),所以每次翻转丢回改变正反数对的奇偶性
又因为偶数为必败状态,所以顺序对为奇数则必胜
#include<iostream>
#include<cstdio>
using namespace std;
int n,a[55],ans;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
scanf("%d",&a[i]);
for(int j=1;j<i;++j)
if(a[j]<a[i])
ans^=1;
}
ans?puts("Q"):puts("T");
return 0;
}