bzoj 5347 氣泡排序

2022-06-03 08:54:11 字數 500 閱讀 5420

考慮到最後a[i]都要等於i,並且每個 a[i] < i 的a[i] 一輪最多向前走一次,所以局數至少是 max。

又因為對於a[i] < i來說,一輪不動意味著 a[i-1] < a[i] ,所以  i-1 - a[i-1] 是》=  i - a[i] 的,所以要麼該位置不是max的位置,要麼就會向前移動,所以局數正好就是 max啦。

#include#define ll long long

using namespace std;

const int maxn=3e7+5;

int a[maxn],n,s,b,c,d,ans;

const int max(int &x,int &y)

int main()

printf("%d\n",ans);

return 0;

}

bzoj 3580 氣泡排序

下面是一段實現氣泡排序演算法的c for int i 1 ia j 1 swap a j a j 1 其中待排序的a陣列是乙個1 n的排列,swap函式將交換陣列中對應位置的值。對於給定的陣列a以及給定的非負整數k,使用這段 執行了正好k次swap操作之後陣列a中元素的值會是什麼樣的呢?輸入檔案共2...

BZOJ 5416 Noi2018 氣泡排序

bzoj 5416 noi2018 氣泡排序 dp 組合數 樹狀陣列 好題。合法的排列的交換次數剛好是交換次數的下界,也就是說不能有多餘的交換。也就是對於ai這個數,只能從i到ai這乙個方向走。考慮x,y,z三個數 x y z y需要和x z各交換一次,這顯然不能使y這個數滿足只向乙個方向移動這個條...

氣泡排序 排序 氣泡排序

既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...