Skip to content
Logic Formatting

Logic Formatting

A. Cubes Sorting 解析(思維)

Posted on 2025 年 1 月 11 日 By jeff

Codeforce 1420 A. Cubes Sorting 解析(思維)

今天我們來看看CF1420
題目連結

題目
給一個數列$a$,求能不能在不超過$\frac{n(n-1)}{2}-1$次相鄰元素的調換下,得到遞增數列。

前言

b

想法

注意到,這是$A$題,所以一定不會要你構造太難的東西。
注意到$\frac{n(n-1)}{2}-1$很可疑,這一定代表某個東西。
觀察到我們至多至多,就是需要$\frac{n(n-1)}{2}$步來調換數列,因為如果目前數列數字是全部相異且是遞減,那麼慢慢把每個數字放到他應有的位置,需要$(n-1)+(n-2)+…+1=\frac{n(n-1)}{2}$步。
因此我們只需要看看數列是否是全部相異且是遞減,如果是,那麼無法達成;如果不是,那麼就可以。

程式碼:

const int _n=5e4+10;  
int t,n,m,a[_n],aa[_n];  
main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);  
  cin>>t;while(t--){  
    cin>>n;rep(i,0,n){cin>>a[i];aa[i]=a[i];} sort(aa,aa+n,greater<int>());  
    int prev=-1;rep(i,0,n){  
      if(a[i]!=aa[i] or aa[i]==prev){cout<<"YES\n";goto A;}  
      prev=aa[i];  
    }  
    cout<<"NO\n";  
    A:;  
  }  
  return 0;  
}  

標頭、模板請點Submission看
Submission

ojcode codeforceojcode思維

文章導覽

Previous post
Next post

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

近期文章

  • B. Kyoya and Permutation 解析(思維、數論、DP)
  • G. Guess One Character 解析(思維)
  • E. The Road to Berland is Paved With Good Intentions 解析(思維、2-SAT、SCC、拓樸排序)
  • E. Xor-sequences 解析(思維、矩陣快速冪)
  • LeetCode. First Missing Positive 解析(思維)

近期留言

尚無留言可供顯示。

彙整

  • 2025 年 2 月
  • 2025 年 1 月

分類

  • ojcode
©2026 Logic Formatting | WordPress Theme by SuperbThemes