當前學習
Trie
已學算法
從初一開始算起,按照時間順序排序
算法簡稱 |
算法全稱 |
備註 |
無 |
高精度 |
比較基礎的算法 |
depth first search(DFS) |
深度優先搜索 |
比較萬能的算法,缺點是速度慢 |
breadth first search(BFS) |
廣度/寬度優先搜索 |
解決最優化問題 |
dynamic programming(DP) |
動態規劃 |
學得是一些比較基礎的dp |
Merge Sort |
歸併排序 |
O(nlogn) ,然而只是一個模板,但是可以求逆序對 |
graph theory(GT) |
基礎圖論 |
普及圖論知識 |
floyd |
插點法 |
O(n3) |
Dijkstra |
迪傑斯特拉 |
O(n2 ) |
Bellman−ford |
貝爾曼-福特算法 |
O(n2) ,SPFA 的前身 |
Shortest Path Fast Algorithm(SPFA) |
隊列優化 |
O(kE) 隊列優化後的福特算法 |
prim |
解決最小生成樹 |
O(n2) ,個人覺得和Dijkstra 很像 |
Disjoint−Set |
並查集 |
在紀中學習,後又在學校複習 |
heap |
堆 |
O(nlogn) ,在紀中學習,後在學校又複習,後面不會重複放出 |
RMQ |
區間最值查詢 |
O(nlogn) ,在紀中學習,後在學校又複習 |
Segment Tree |
線段樹 |
O(nlogn) ,在紀中學習,後在學校又複習 |
Binary Indexed Trees |
樹狀數組 |
O(nlogn) ,在紀中學習,後在學校又複習 |
Kruskal |
庫魯思卡爾 |
O(mlogm+n) ,利用並查集 |
hash |
哈希 |
最壞O(nm) ,絕大多數情況O(m) |
Kosaraju |
強聯通分量算法之一 |
O(n2) ,鄰接表優化後O(n+m) |
Tarjian |
強聯通分量算法之一 |
O(n+m) |
Hungarian method |
匈牙利算法 |
鄰接矩陣最壞O(n3) ,鄰接表O(mn) |
無 |
離散化 |
排序後處理 |
Least Common Ancestors(LCA) |
最近公共祖先 |
主要學了兩個算法 |
Tarjan |
求最近公共祖先 |
O(n+m) ,注意這不是求強聯通分量的那個Tarjan |
無 |
倍增求LCA |
O(n+mlogn) |
Knuth Morris Pratt |
字符串模式匹配 |
O(n+m) |
Gcd |
輾轉相除法及其證明 |
O(log(a+b)) |
Exgcd |
擴展歐幾里德算法 |
O(log(a+b)) |
humdrum queue |
單調隊列 |
O(n) |
Edmonds−Karp |
增廣路算法 |
O(nm2) |
Dinic |
無 |
O(n2m) ,匹配O(mn−−√) |
Edmonds−Karp |
bfs 變SPFA |
O(knm2) |
Topsort |
拓撲排序 |
O(n+m) |
樹形DP |
樹形動態規劃 |
O(不定) |
Chairman Tree |
主席樹(可持久化線段樹) |
O(nlogn) |
Trie |
字典樹 |
紀中學習 |
Aho−Corasick automaton |
AC 自動機 |
紀中學習 |
Suffix Array |
後綴數組 |
紀中學習 |
Suffix Automaton(SAM) |
後綴自動機 |
紀中學習 |
Persistent line segment tree |
可持久花線段樹(主席數) |
紀中學習 |
MinimumRepresentationAlgorithm |
最小表示法 |
O(n) ,基於貪心 |
Trie |
字典樹 |
字符串檢索結構 |
未做題目
備註:由於老師時不時放一些非此算法的題目在這個算法的$Word$文檔中,所以下面的題目分類並不完全正確,但大部分都是正確的
題目來源 |
題目名稱 |
題目分類 |
未知 |
Square country |
離散 |
SSL-1685 USACO3.1 |
Shaping Regions 形成的區域 |
線段樹\離散\切割 |
zju 1128 |
亞特蘭蒂斯 |
離散 |
Vijos 1056 |
矩形覆蓋 |
離散 |
POJ 2777 |
Count Color |
線段樹 |
POJ 2828 |
Buy Tickets |
線段樹 |
POJ 2181 |
Jumping Cows |
線段樹 |
POJ 3928 |
Ping pong |
樹狀數組 |
HDU 3078 |
Network |
LCA |
POJ 3401 |
String reduction |
KMP |
BZOJ 3492 |
Binary Dodgeball |
KMP |
POJ 2288 |
Islands and Bridges |
狀壓dp |
POJ 3714 |
Raid |
分治 |
Luogu 3449 |
PAL−Palindromes |
Trie +HASH |