Codeforces Round #672 (Div. 2) A. Cubes Sorting (思维)

-
题意:有一长度为\(n\)的一组数,每次可以交换两个数的位置,问能否在\(\frac{n*(n-1)}{2}-1\)次操作内使得数组非递减.
-
题解:不难发现,只有当整个数组严格递减的时候,操作次数是\(\frac{n*(n-1)}{2}\),所以我们可以直接遍历判断有无\(a[i]<=a[i+1]\)即可.
-
代码:
int t; int n; int a[N]; int main() { ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin>>t; while(t--){ cin>>n; //int cnt=n*(n-1)/2-1; for(int i=0;i<n;++i){ cin>>a[i]; } bool flag=false; for(int i=0;i<n-1;++i){ if(a[i]<=a[i+1]){ flag=true; break; } } if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
𝓐𝓬𝓱𝓲𝓮𝓿𝓮𝓶𝓮𝓷𝓽 𝓹𝓻𝓸𝓿𝓲𝓭𝓮𝓼 𝓽𝓱𝓮 𝓸𝓷𝓵𝔂 𝓻𝓮𝓪𝓵
𝓹𝓵𝓮𝓪𝓼𝓾𝓻𝓮 𝓲𝓷 𝓵𝓲𝓯𝓮

浙公网安备 33010602011771号