競爭性編程革命者
在競爭性編程比賽中廣泛使用的C ++中算法和數據結構的收集。
涵蓋了以下主題:
範圍更新和查詢
- 範圍匯總查詢:
- 二進制索引樹(位) :
- 點更新範圍查詢
- 範圍更新範圍查詢
- 訂單統計查詢
- 2D二進制索引樹
- 細分樹(Segtree) :
- 點更新範圍查詢
- 快速迭代的segtrees
- 範圍更新點查詢 - 懶惰的促進
- 最大子段總和範圍
- 2D段樹
- 動態段樹 - 元素之間的插入/刪除
- 動態段樹 - 反向段
- 合併排序樹木:
- 稀疏表:
- MO算法:
- 動態編程:
- 動態編程模板:
- 標準DP問題:
- 最長增加的子序列
- 最長的全迴旋子序
- Levenstein距離 /編輯距離
- 圖:
- 單源最短路徑算法:
- dijkstra在密集圖中
- Dijkstra使用優先隊列
- KTH使用Dijkstra之間的最短路徑
- 貝爾曼·福特(Bellman Ford)負面週期檢測
- 所有配對最短路徑:
- 使用二進制指數
- 弗洛伊德·沃沙爾(Floyd Warshall)
- 週期檢測:
- 最小跨樹:
- 拓撲排序 /緊密連接的組件:
- MaxFlow/匹配:
- 霍普克羅夫特karp max匹配
- DINIC MAX流
- 雜項:
- 樹:
- 二進制指數:
- 字符串:
- 字符串算法:
- Z算法
- KMP算法
- 滾弦哈希
- 動態字符串的滾動字符串哈希
- 字符串數據結構:
- 排序:
- 快速輸入/輸出,字符串/整數轉換:
- 雜項。數據結構:
- 分離設置
- 分離集(支持撤消操作)
- 最大/分鐘優先級隊列與更新
- 二進制trie用於XOR最大化/最小化
- bigint *
- 增強二進制樹的訂單統計和等級查詢
- 單調優先隊列
- 特里
- 持續的數據結構:
- 數字理論算法:
- 原始檢查:
- 篩子:
- Eratosthenes的篩子
- 分段篩子
- 計算主要因素
- 多項式乘法:
- 雜項:
- 組合和加泰羅尼亞 - 階乘預處理
- Mobeius功能
- Euler Tortient函數
- Lucas Theorm -Combinatorics
- 計算幾何形狀:
- 雜項:
- x = 1:n的地板(x)之和
- 循環功能的總和 *
- 在每個元素之前/之後,最接近的較大元素
- 乘以長整數
- 乘以長整數 - 溢出檢測
- 掃描線 - 合併相交間隔