主要思想:上課學習內容
背過模板:課下(寫出模板題)
做題目:課下(寫同一道題3-5次)
快排:分治
確定分解點:q(l),q(l+r)/2,q® 隨機
調整區間: 左邊所有數小於等於x,所以右邊數都大於等於x
遞迴處理左右兩段
樸素方法
1 .a b
2 . q[l-r] q[i]<=x 放a q[i]>=x 放b
3 .把a b 放到q裡去
優美的做法
1.使用兩個指標 i,j;
2.i,j分別從左右向中間走,如果i掃瞄到的數<=x,i++,直到a[i]>x停止;同理,a[j]>=x.j–,直到a[j]歸併排序
確定分界點 mid=(l+r)/2
遞迴排序 left right
歸併 合二為一
有單調性可以二分,可以二分不一定都有單調性
二分!=單調性
兩個模板
1.mid =l+r+1>>1
判斷mid時 true;l=mid
2. mid=l+r>>1
判斷mid時 true;r=mid
AcWing 演算法基礎課 動態規劃
1 揹包問題 1 01揹包 每件物品僅用一次 可以做空間優化 dp j max dp j dp j v i w i 0,1揹包狀態均是從前一迴圈的狀態轉移 2 完全揹包 每件物品可以用無限次 完全揹包的狀態可以從當前迴圈的狀態轉移,進行優化 3 多重揹包 每件物品有不同的數量限制 可以對物品的數量限...
演算法基礎課筆記
方法步驟 1 確定分界點。一般取q l q r q l r 2 作為樞紐。2 調整區間,左邊的都是小於等於樞紐值,右邊的都是大於等於樞紐值。最重要 3 遞迴處理左右兩段。快速排序模板 void quick sort int q int l int r quick sort q,l,j quick s...
Acwing演算法基礎課知識點
知識點 基礎演算法 模板鏈結常用 模板1 基礎演算法 排序 二分高精度 字首和與差分 雙指標演算法 位運算離散化 區間合併 資料結構 模板鏈結常用 模板2 資料結構 鍊錶與鄰接表 樹與圖的儲存 棧與佇列 單調佇列 單調棧 kmptrie 並查集堆 hash表 c stl使用技巧 搜尋與圖論 模板鏈結...