基礎演算法題 EZEC 3 排序(特判)

2021-10-25 09:13:20 字數 595 閱讀 9572

[ezec-3] 排序

解題思路

①、題意:希望組成乙個環,環上不同兩個數字,而且每兩個相鄰的數字的絕對值 k 必須相同的。

②、我們只要選擇兩個符合條件數字,以數量最少的數字作為環上元素的數量的 1/2。

注意特判 k==0 a[i]==1的情況,題目要求環的數量至少為 2 。

#include

#define ll long long

using

namespace std;

int a[

1000001];

bool b;

ll n, k, um=

0, mx;

intmain()

for(ll i=k; i<=mx; i++

)else

um =

max(um,

min(a[i]

,a[i-k])*

(i+i-k)

),b=1;

}}if(b==0)

cout<<

"no"

;else

cout

}

刷題(3) 排序(1)

注意 n指資料規模 k指 桶 的個數 in place指占用常數記憶體,不占用額外記憶體 out place指占用額外記憶體 冒泡,插入,歸併排序都是保證穩定性的,其他都不是 現代作業系統很少使用堆排序,因為它無法利用區域性性原理進行快取,也就是陣列元素很少和相鄰的元素進行比較和交換。快速排序是最快...

3 排序演算法 歸併排序

問題描述 歸併排序演算法對下列例項排序,寫出基於歸併排序演算法對下面例項進行排序的具體過程。a 48,12,61,3,5,19,32,7 解題思想 將n個元素分成2個子集合,分別對子集合進行排序,最終將排好序的子集合合併為有序集合。n 1是中止。如下 include include using na...

演算法基礎(三) 排序

我們先來看看幾種排序的結構圖 排序是否穩定 比如 排序前 25 7 6 4 29 3 排序後 22 3 4 5 6 7 9 排序前藍2在紅 2前面,排序後藍 2依然在紅 2前面,則所用的排序方法是穩定的。如果排序後,紅 2有可能在藍 2前面,那麼所用的排序方法是不穩定的 下面說說前面幾種排序的時間複...