算法綱要

 

基本算法

C/C++、STL(vectorsetmapqueuestringalgorithm數組

枚舉貪心遞歸、分治、遞推、模擬網絡

構造、位運算、常數優化數據結構

數據結構閉包

隊列鏈表ide

排序(插入、冒泡、快速、歸併、堆、桶、基數)函數

二分查找散列表、並查集哈夫曼樹測試

排序二叉樹、左偏樹、平衡樹(Splay/Treap/SBT)優化

樹狀數組線段樹、歸併樹、劃分樹、主席樹、樹套樹spa

樹鏈剖分、動態樹

1/2維RMQLCA(在線/離線)、稀疏表、字典樹

字符串

KMP、擴展KMP

AC自動機

後綴樹、後綴數組、後綴自動機

LCP隨機化算法

最小表示法

搜索

DFS、BFS、剪枝、雙向寬搜

迭代加深、A*、ID-A*

Dancing-links

登山法、模擬退火、遺傳算法

數學

進制轉換、表達式求值

二分三分

機率論、微積分

高精度(加減乘除模開方

高精實數、分數

快速冪、矩陣、矩陣鏈乘

多項式求根、牛頓迭代

高斯消元解線性方程組

組合數學、排列組合計數

容斥原理、抽屜原理、mobius反演

置換羣、burnside 引理、Polya定理、母函數

卡特蘭數、斯特林數

傅立葉變換(大數乘法)

半平面交解二元線性規劃、單純形法解線性規劃

約瑟夫問題

0/1分數規劃

數論

GCD、擴展歐幾里德

篩法求素數、素數斷定

同餘方程、中國剩餘定理

大素數測試、分解

歐拉函數、積性函數、法蘭數列

逆元、離散對數

圖論

基本概念(DFS生成樹上邊,橋,割點,割,雙連通份量)

圖的表示(矩陣、鄰接表)

最短路(Dijkstra(+heap)、Floyd、Bellmen-ford、Spfa)、傳遞閉包

最小生成樹

強聯通份量(+縮點)

拓撲排序

橋、邊雙連通份量及性質

割點、點雙連通份量

度限制生成樹、次小生成樹、最優比例生成樹

最小樹形圖

次短路(Dijkstra)、K短路(A*)

差分約束系統

2-SAT

歐拉路徑(迴路)、漢密爾頓路(迴路)

網絡流(SAP、Dinic)

最大流最小割、平面圖最小割、全局最小割Stoer-Wagner算法

最小費用最大流

有流量上下界的網絡流(費用流)

無源匯的網絡流

二分圖匹配、二分圖最大權匹配

任意圖匹配(帶花樹)

最大權閉合子圖、最大密度子圖

最大團、最大獨立集

計算幾何

基本操做:

  叉積、點積

  向量平移、旋轉

  線段(直線、射線)相交的判斷、求交點

  點、線段、直線、平面關係、距離

  點在多邊形內/外/上

  多邊形周長、面積

二維凸包

最近點對、最近圓對

旋轉卡殼

        計算距離:凸多邊形直徑、形寬,凸多邊形間的最大、最小距離

        外界矩形:最小周長、最小面積外界矩形

        三角剖分:洋蔥、螺旋、四邊形剖分

        凸多邊形屬性:凸包合併、找公切線、臨界切線、凸多邊形相交、凸多邊形矢量和

        最薄截面:最薄橫截帶

三角形

球面距離

三維幾何基本操做

        向量平移、旋轉

        點、線、面

三維凸包

點集的最小覆蓋圓

最大空心矩形

圓的面積交/並

圓與圓的位置關係

圓與線段、多邊形的關係、面積

半平面交

自適應simpson公式

steiner生成樹

動態規劃

記憶化搜索

最長公共子序列

最長上升序列

揹包九講(0/一、徹底、依賴、分組、泛化物品)

四邊形不等式優化、斜率優化、單調隊列(1D\1D)

數據結構優化(線段樹優化、堆優化、左偏樹優化)

樹形DP、自動機DP

數位DP狀態壓縮DP、插頭DP、廣義插頭(最小表示)

博弈論

Bash Game、Wythoff Game

NIM、SG函數

搜索、極大極小搜索

無向圖刪邊博弈

其餘

曆法、日期漢諾塔

 

離散化

找規律

打表

相關文章
相關標籤/搜索