優美的歸併排序

2021-10-18 19:35:59 字數 805 閱讀 1689

歸併排序的思想:

確定分界點 mid=(l+r)/ 2

遞迴排序left、right

歸併,合二為一

其中第三步歸併的思想類似於兩個有序列表合併。

歸併排序時間複雜度為nlogn,且是穩定的,需要借助額外輔助空間。

#include

using

namespace std;

const

int maxn =

1e5+7;

int a[maxn]

,tmp[maxn]

;void

merge_sort

(int l,

int r)

int mid = l+r >>1;

merge_sort

(l,mid)

;merge_sort

(mid+

1,r)

;int i = l, j = mid+

1, k =0;

while

(i <= mid && j <= r)

else

}while

(i <= mid) tmp[k++

]= a[i++];

while

(j <= r) tmp[k++

]= a[j++];

for(

int i = l, k =

0; i <= r; i++

, k++

) a[i]

= tmp[k];}

intmain()

優美的閃電

一開始的思路是 當前剩餘權值最大的那個區間一定要被一發能 量為該區間權值的飛彈打掉,所以我們列舉該飛彈擊打位置,同 時我們刪除所有能被該飛彈擊打掉的區間,但是這只針對樣例,對於題目的其他資料就是不成立的。正確的是使用區間 dp,fi,j 表示座標被 i,j 完全包含 的區間最小需要花費的能量。則可以...

優美的句子

只言片語,溫暖人心 不亂於心,不困於情。如此,安好。不開心時,記得要讓心情轉個彎。出發去拾起,夢裡車輪碾過的風景。晨鐘淡淡,喚起一天的生機。丟掉煩惱,日子才能風輕雲淡。打足精神,讓今天成為最棒的一天。分享快樂,福己及人。皓月當空,清風徐徐,盡情享受。回首忙碌日,假期更顯貴。開心了就笑,不開心就過會再...

歸併排序(2 路歸併排序)

遞迴寫法 include define maxn 100 void merge int a,int l1,int r1,int l2,int r2 將陣列a的區間 l1,r1 和區間 l2,r2 合併為乙個有序區間 else while i r1 while j r2 for int i 0 i非遞...