歸併排序的思想:
確定分界點 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非遞...