ACM知識框架整理

2021-09-25 07:56:00 字數 1078 閱讀 4263

目錄

資料結構

基礎實用

高階圖論

銅牌銀牌

金牌dp

銅牌銀牌

金牌

單調棧、單調佇列、優先佇列、trie樹、並查集、c++stl set、map、iterator

線段樹、數鏈剖分、平衡樹基礎(treap)

持久化資料結構、kd樹、splay、lct

kruskal最小生成數、dijkstra,floyd、多元最短路和分層圖最短路

並查集和加權並查集

樹的直徑、基礎樹形dp,倍增求lca

基本網路流、二分圖(板子)

理解2-sat問題

基礎資料結構構造或優化圖

了解負環和bellman-ford演算法及部分優化、差分約束

理解基環樹

各種樹上的加速演算法。數鏈剖分,點分治

理解網路流、輸出網路流的結果圖、最小費用可行流

雙連通分量tarjan和kosaraju演算法,強連通分量

各種構造圖方法,線段樹優化、常見資料結構優化,並利用思維特異性優化,網路流和最短路等

熟練掌握樹和圖的各種特性,在計數技術上不能落後,善於使用計數dp和一些計數定理處理問題

深入了解大多數常見樹上的資料結構,lct等

掌握上下界的網路流變化

了解大量模板

經典問題:揹包、lcs、lis

最長上公升子串行onlogn

有向無環圖

了解狀壓dp、數形dp和環形處理問題

記憶化搜尋和遞迴

樹形dp和狀態壓縮方法,以及環形的處理和數字dp的特異化寫法

常見的區間dp

學會從狀態轉移方程和具象化問題兩個方面找優化

學會基本資料結構優化動態規劃

善於抽象化定義狀態和狀態規劃

學會利用幾何性質優化動態規劃(斜率、四邊形不等式)

熟練多角度發散性思考

足夠強力的思維水平

mina 框架知識點部分整理

之前做個一段時間的遊戲開發,用到了mina通訊框架,怕久了忘記,這裡整理下知識點。第乙個就是搞清楚他的核心nio,但是講這個就必須先搞清楚bio。jdk1.4之前用的是阻塞 bio,jdk1.4之後引入nio 非阻塞io,jdk1.7後引入了 aio 非同步非阻塞io。bio相信大家入門時都寫過 w...

ACM 各種模板整理

靜態仙人掌 圓方樹 includeusing namespace std define ll long long define pr std pair define mk a,b std make pair a,b const int maxm 2e5 5 const int maxn 1e5 5 ...

koa框架基礎知識學習整理三

4.1 500 錯誤 如果 執行過程中發生錯誤,我們需要把錯誤資訊返回給使用者。http 協定約定這時要返回500狀態碼。koa 提供了ctx.throw 方法,用來丟擲錯誤,ctx.throw 500 就是丟擲500錯誤。demos 14.js const main ctx 執行這個demo no...