/Algorithmic_Template

๐ŸญLzyRapx 's algorithmic library. Some templates for ACMer, OIer, Algorithm enthusiast.

Primary LanguageC++

Algorithmic_Library

LzyRapx 's code Library for competitive-programming.

Black_magic

  • ๆ‰‹ๅ†™bitset
  • fastIO
  • pb_ds
  • rope
  • ๆ‰ฉๆ ˆ
  • O(1)ๅฟซ้€Ÿไน˜

Class

  • BigInt
  • Frac
  • ๅฏนๆ‹

DataStructure

  • CDQๅˆ†ๆฒป
  • Dancing Links X (DLX)
  • HASH
  • KMP
  • LCA
  • LCT
  • Splay Tree
  • merge_sort

Geometry

  • ๅŸบๆœฌ็ฑปๅž‹ - ็‚น, ็บฟ
  • ๅคš่พนๅฝข
  • ๅŠๅนณ้ขไบค
  • ๅœ†
  • ไธ‰็ปดๅ‡ ไฝ•
  • ็ƒ้ขๅ‡ ไฝ•
  • ๅนณ้ขๆœ€่ฟ‘็‚นๅฏน
  • ๆ›ผๅ“ˆ้กฟ่ท็ฆป็”Ÿๆˆๆ ‘
  • ๆœ€ๅคง็ฉบๅ‡ธๅŒ…
  • ๅนณ้ขๅ›พๆฑ‚ๅŸŸ

Graph-theory

  • Connectivity
    • BCC
    • BCC_edge
    • BCC_vertex
    • Kosaraju
    • Tarjan_SCC
  • Flows and cuts
    • Dinic
    • Edmondsโ€“Karp
    • Ford-Fulkerson
    • MinCostMaxFlow
    • edge-disjoint-path
    • maximum_flow_goldberg_tarjan
  • Matching
    • Kuhn-Munkras
    • Hungarian method (ๅŒˆ็‰™ๅˆฉ็ฎ—ๆณ•)
  • Shortest-path
    • Bellman-Ford
    • Dijkstra
    • Floydโ€“Warshall
    • K็Ÿญ่ทฏ
    • SPFA
  • Spanning-tree
    • Kruskal (MSTๅ’Œๆฌกๅฐ็”Ÿๆˆๆ ‘)
    • prim
    • ๆ›ผๅ“ˆ้กฟ่ท็ฆปMST

Mathematics

  • BSGS
  • Berlekamp-Massey
  • Berlekamp-Massey (ๆœๆ•™็‰ˆ)
  • CRT๏ผˆๆจกๆ•ฐไธไบ’่ดจ๏ผ‰
  • CRT๏ผˆๆจกๆ•ฐไบ’่ดจ๏ผ‰
  • Cantor
  • Check_primitive_root
  • Dirichletๅท็งฏ
  • EX_BSGS
  • Euler_Function
  • Extends_GCD
  • FFT+CDQ
  • FFTๅคงๆ•ดๆ•ฐไน˜ๆณ•
  • MTT
  • Fibๆ•ฐๆจกn็š„ๅพช็Žฏ่Š‚
  • Guass
  • [1,n]ไธŽaไบ’็ด ไธชๆ•ฐ
  • bernoulli_number
  • factorial
  • gauss_elimination
  • ไปปๆ„ๆจกๆ•ฐFFT+ๅคš้กนๅผๅ–้€†
  • ๅบทๆ‹“ๅฑ•ๅผ€ๅ’Œ้€†ๅบทๆ‹“ๅฑ•ๅผ€
  • ๅฟซ้€Ÿๅน‚
  • ๆœๆ•™็ญ›
  • ็บฟๆ€ง็ญ›prime+phi+mu

String

  • AhoCorasick (AC่‡ชๅŠจๆœบ)
  • EX_KMP
  • KMP
  • LIS
  • Manacher
  • SA
  • String Hash
  • suffix array
  • ๅ›žๆ–‡ๆ ‘
  • ๅŠจๆ€Trie
  • ้™ๆ€Trie

Others

โ”œโ”€โ”€ ACM-OI 's Strategy.md
โ”œโ”€โ”€ ACM-Tech.txt
โ”œโ”€โ”€ Basic
โ”‚   โ”œโ”€โ”€ BFS
โ”‚   โ”‚   โ”œโ”€โ”€ BFS
โ”‚   โ”‚   โ”œโ”€โ”€ BFS.cpp
โ”‚   โ”‚   โ””โ”€โ”€ BFS.py
โ”‚   โ”œโ”€โ”€ BackTracking
โ”‚   โ”‚   โ”œโ”€โ”€ Hamilton path.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Knight_tour.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Nqueue.cpp
โ”‚   โ”‚   โ””โ”€โ”€ Sudoku.cpp
โ”‚   โ”œโ”€โ”€ BinarySearchTree
โ”‚   โ”‚   โ”œโ”€โ”€ BST_Count&height&diameter.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BST_Normal_Operation.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BST_traverse.cpp
โ”‚   โ”‚   โ””โ”€โ”€ Banlancing of BST.cpp
โ”‚   โ”œโ”€โ”€ ConvexHullTrick.cpp
โ”‚   โ””โ”€โ”€ DFS
โ”‚       โ”œโ”€โ”€ dfs
โ”‚       โ”œโ”€โ”€ dfs.cpp
โ”‚       โ””โ”€โ”€ dfs.py
โ”œโ”€โ”€ Black_magic
โ”‚   โ”œโ”€โ”€ &ไธŽ%ๆ•ˆ็Ž‡.txt
โ”‚   โ”œโ”€โ”€ O(1)ๅฟซ้€Ÿไน˜.cpp
โ”‚   โ”œโ”€โ”€ bitset.h
โ”‚   โ”œโ”€โ”€ fastIO.cpp
โ”‚   โ”œโ”€โ”€ pb_ds๏ผˆ็ฌ”่ฎฐ๏ผ‰.txt
โ”‚   โ”œโ”€โ”€ rope.txt
โ”‚   โ”œโ”€โ”€ ๆ‰ฉๆ ˆ.cpp
โ”‚   โ””โ”€โ”€ ไบŒ่ฟ›ๅˆถๆ•ฐไธญ1็š„ไธชๆ•ฐ.cpp
โ”œโ”€โ”€ Class
โ”‚   โ”œโ”€โ”€ BigInt.cpp
โ”‚   โ”œโ”€โ”€ Frac.cpp
โ”‚   โ””โ”€โ”€ ๅฏนๆ‹.cpp
โ”œโ”€โ”€ DataStructure
โ”‚   โ”œโ”€โ”€ 01Tireๆฑ‚ๅŒบ้—ดๅผ‚ๆˆ–ๅ’Œ็š„ๆœ€ๅคงๅ€ผ.cpp
โ”‚   โ”œโ”€โ”€ CDQๅˆ†ๆฒป.cpp
โ”‚   โ”œโ”€โ”€ Cartesian_Tree.cpp
โ”‚   โ”œโ”€โ”€ Circle-Square-Tree Maximum independent set.cpp
โ”‚   โ”œโ”€โ”€ DLX.cpp
โ”‚   โ”œโ”€โ”€ HASH.cpp
โ”‚   โ”œโ”€โ”€ KMP.cpp
โ”‚   โ”œโ”€โ”€ LCA.cpp
โ”‚   โ”œโ”€โ”€ LCT.cpp
โ”‚   โ”œโ”€โ”€ Splay_Tree - v1.cpp
โ”‚   โ”œโ”€โ”€ Splay_Tree - v2.cpp
โ”‚   โ””โ”€โ”€ merge_sort.cpp
โ”œโ”€โ”€ Geometry
โ”‚   โ”œโ”€โ”€ Geometry2d (Basic).h
โ”‚   โ”œโ”€โ”€ Geometry3d (Basic).h
โ”‚   โ””โ”€โ”€ polygon.cpp
โ”œโ”€โ”€ Graph-theory
โ”‚   โ”œโ”€โ”€ Connectivity
โ”‚   โ”‚   โ”œโ”€โ”€ BCC (multi-version).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BCC_edge(1).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BCC_edge(2).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BCC_vertex(1).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ BCC_vertex(2).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Kosaraju.cpp
โ”‚   โ”‚   โ””โ”€โ”€ Tarjan_SCC.cpp
โ”‚   โ”œโ”€โ”€ Flows and cuts
โ”‚   โ”‚   โ”œโ”€โ”€ Dinic(1).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Dinic(2).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Edmondsโ€“Karp.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Ford-Fulkerson.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ MinCostMaxFlow.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ edge-disjoint-path(1).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ edge-disjoint-path(2).cpp
โ”‚   โ”‚   โ””โ”€โ”€ maximum_flow_goldberg_tarjan.cpp
โ”‚   โ”œโ”€โ”€ Matching
โ”‚   โ”‚   โ”œโ”€โ”€ Kuhn-Munkras (KM).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ ๅŒˆ็‰™ๅˆฉ็ฎ—ๆณ• O(n^3๏ผ‰.cpp
โ”‚   โ”‚   โ””โ”€โ”€ ๅŒˆ็‰™ๅˆฉ็ฎ—ๆณ• O(nm).cpp
โ”‚   โ”œโ”€โ”€ Shortest-path
โ”‚   โ”‚   โ”œโ”€โ”€ Bellman-Ford.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Dijkstra(1).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Dijkstra(2).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Dijkstra(ๆฑ‚ๆœ€็Ÿญ่ทฏๅ’Œๆฌก็Ÿญ่ทฏไปฅๅŠๅ…ถ่ทฏๅพ„ๆ•ฐ).cpp
โ”‚   โ”‚   โ”œโ”€โ”€ Floydโ€“Warshall.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ K็Ÿญ่ทฏ.cpp
โ”‚   โ”‚   โ”œโ”€โ”€ SPFA(1).cpp
โ”‚   โ”‚   โ””โ”€โ”€ SPFA(2).cpp
โ”‚   โ””โ”€โ”€ Spanning-tree
โ”‚       โ”œโ”€โ”€ Kruskal (MSTๅ’Œๆฌกๅฐ็”Ÿๆˆๆ ‘).cpp
โ”‚       โ”œโ”€โ”€ prim.cpp
โ”‚       โ””โ”€โ”€ ๆ›ผๅ“ˆ้กฟ่ท็ฆปMST.cpp
โ”œโ”€โ”€ Mathematics
โ”‚   โ”œโ”€โ”€ BSGS.cpp
โ”‚   โ”œโ”€โ”€ Berlekamp-Massey.cpp
โ”‚   โ”œโ”€โ”€ Berlekamp-Massey๏ผˆComplete๏ผ‰.cpp
โ”‚   โ”œโ”€โ”€ CRT๏ผˆๆจกๆ•ฐไบ’่ดจ๏ผ‰.cpp
โ”‚   โ”œโ”€โ”€ CRT๏ผˆๆจกๆ•ฐไธไบ’่ดจ๏ผ‰.cpp
โ”‚   โ”œโ”€โ”€ Cantor.cpp
โ”‚   โ”œโ”€โ”€ Check_primitive_root.cpp
โ”‚   โ”œโ”€โ”€ Determinant.cpp
โ”‚   โ”œโ”€โ”€ Dirichletๅท็งฏ.cpp
โ”‚   โ”œโ”€โ”€ EX_BSGS.cpp
โ”‚   โ”œโ”€โ”€ Euler_Function.cpp
โ”‚   โ”œโ”€โ”€ Extends_GCD.cpp
โ”‚   โ”œโ”€โ”€ FFT+CDQ.cpp
โ”‚   โ”œโ”€โ”€ FFTๅคงๆ•ดๆ•ฐไน˜ๆณ•.cpp
โ”‚   โ”œโ”€โ”€ Fibๆ•ฐๆจกn็š„ๅพช็Žฏ่Š‚.cpp
โ”‚   โ”œโ”€โ”€ Guass.cpp
โ”‚   โ”œโ”€โ”€ MTT.cpp
โ”‚   โ”œโ”€โ”€ [1,n]ไธŽaไบ’็ด ไธชๆ•ฐ.cpp
โ”‚   โ”œโ”€โ”€ bernoulli_number.cpp
โ”‚   โ”œโ”€โ”€ factorial.cpp
โ”‚   โ”œโ”€โ”€ gauss_elimination.cpp
โ”‚   โ”œโ”€โ”€ main.out
โ”‚   โ”œโ”€โ”€ ๅฟซ้€Ÿไน˜.cpp
โ”‚   โ”œโ”€โ”€ ๅฟซ้€Ÿๅน‚.cpp
โ”‚   โ”œโ”€โ”€ ๆœๆ•™็ญ›.cpp
โ”‚   โ”œโ”€โ”€ ็บฟๆ€ง็ญ›prime+phi+mu.cpp
โ”‚   โ”œโ”€โ”€ ไปปๆ„ๆจกๆ•ฐFFT+ๅคš้กนๅผๅ–้€†.cpp
โ”‚   โ”œโ”€โ”€ ็ฑปๆฌงๅ‡ ้‡Œๅพ—.cpp
โ”‚   โ””โ”€โ”€ ๅบทๆ‹“ๅฑ•ๅผ€ๅ’Œ้€†ๅบทๆ‹“ๅฑ•ๅผ€.cpp
โ”œโ”€โ”€ Others
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ Skill Trees.txt
โ””โ”€โ”€ String
    โ”œโ”€โ”€ AC่‡ชๅŠจๆœบ.cpp
    โ”œโ”€โ”€ AhoCorasick.cpp
    โ”œโ”€โ”€ EX_KMP.cpp
    โ”œโ”€โ”€ KMP(ๅซๆณจ้‡Š๏ผ‰.cpp
    โ”œโ”€โ”€ KMP.cpp
    โ”œโ”€โ”€ LIS.cpp
    โ”œโ”€โ”€ Manacher.cpp
    โ”œโ”€โ”€ SA.cpp
    โ”œโ”€โ”€ manacher (2).cpp
    โ”œโ”€โ”€ multi - String Hash.cpp
    โ”œโ”€โ”€ suffix array.cpp
    โ”œโ”€โ”€ ๅŠจๆ€Trie.cpp
    โ”œโ”€โ”€ ้™ๆ€Trie.cpp
    โ””โ”€โ”€ ๅ›žๆ–‡ๆ ‘.cpp