[{"name":"Array","slug":"array","problem_count":2260},{"name":"String","slug":"string","problem_count":895},{"name":"Hash Table","slug":"hash-table","problem_count":836},{"name":"Math","slug":"math","problem_count":708},{"name":"Dynamic Programming","slug":"dynamic-programming","problem_count":680},{"name":"Sorting","slug":"sorting","problem_count":536},{"name":"Greedy","slug":"greedy","problem_count":482},{"name":"Binary Search","slug":"binary-search","problem_count":352},{"name":"Depth-First Search","slug":"depth-first-search","problem_count":349},{"name":"Database","slug":"database","problem_count":310},{"name":"Bit Manipulation","slug":"bit-manipulation","problem_count":296},{"name":"Matrix","slug":"matrix","problem_count":285},{"name":"Prefix Sum","slug":"prefix-sum","problem_count":274},{"name":"Tree","slug":"tree","problem_count":270},{"name":"Two Pointers","slug":"two-pointers","problem_count":263},{"name":"Breadth-First Search","slug":"breadth-first-search","problem_count":260},{"name":"Heap (Priority Queue)","slug":"heap-(priority-queue)","problem_count":221},{"name":"Simulation","slug":"simulation","problem_count":217},{"name":"Counting","slug":"counting","problem_count":213},{"name":"Graph Theory","slug":"graph-theory","problem_count":190},{"name":"Stack","slug":"stack","problem_count":182},{"name":"Binary Tree","slug":"binary-tree","problem_count":181},{"name":"Sliding Window","slug":"sliding-window","problem_count":172},{"name":"Enumeration","slug":"enumeration","problem_count":162},{"name":"Design","slug":"design","problem_count":134},{"name":"Backtracking","slug":"backtracking","problem_count":114},{"name":"Number Theory","slug":"number-theory","problem_count":105},{"name":"Union-Find","slug":"union-find","problem_count":98},{"name":"Segment Tree","slug":"segment-tree","problem_count":87},{"name":"Linked List","slug":"linked-list","problem_count":82},{"name":"Ordered Set","slug":"ordered-set","problem_count":80},{"name":"Monotonic Stack","slug":"monotonic-stack","problem_count":76},{"name":"Divide and Conquer","slug":"divide-and-conquer","problem_count":71},{"name":"Combinatorics","slug":"combinatorics","problem_count":65},{"name":"Trie","slug":"trie","problem_count":61},{"name":"Queue","slug":"queue","problem_count":58},{"name":"Bitmask","slug":"bitmask","problem_count":56},{"name":"Binary Indexed Tree","slug":"binary-indexed-tree","problem_count":54},{"name":"Recursion","slug":"recursion","problem_count":51},{"name":"Hash Function","slug":"hash-function","problem_count":47},{"name":"Geometry","slug":"geometry","problem_count":46},{"name":"Memoization","slug":"memoization","problem_count":44},{"name":"Binary Search Tree","slug":"binary-search-tree","problem_count":43},{"name":"Shortest Path","slug":"shortest-path","problem_count":43},{"name":"Topological Sort","slug":"topological-sort","problem_count":40},{"name":"String Matching","slug":"string-matching","problem_count":37},{"name":"Rolling Hash","slug":"rolling-hash","problem_count":33},{"name":"DP on Trees","slug":"dp-on-trees","problem_count":31},{"name":"Game Theory","slug":"game-theory","problem_count":30},{"name":"Monotonic Queue","slug":"monotonic-queue","problem_count":26},{"name":"Greatest Common Divisor","slug":"greatest-common-divisor","problem_count":25},{"name":"Interactive","slug":"interactive","problem_count":25},{"name":"Euclidean Algorithm","slug":"euclidean-algorithm","problem_count":24},{"name":"Data Stream","slug":"data-stream","problem_count":24},{"name":"Brainteaser","slug":"brainteaser","problem_count":21},{"name":"Merge Sort","slug":"merge-sort","problem_count":17},{"name":"Directed Acyclic Graph","slug":"directed-acyclic-graph","problem_count":17},{"name":"Knapsack Problem","slug":"knapsack-problem","problem_count":17},{"name":"Minimax","slug":"minimax","problem_count":16},{"name":"Dijkstra's Algorithm","slug":"dijkstra's-algorithm","problem_count":16},{"name":"Bracket Sequences","slug":"bracket-sequences","problem_count":15},{"name":"Doubly-Linked List","slug":"doubly-linked-list","problem_count":15},{"name":"Prime Factorization","slug":"prime-factorization","problem_count":14},{"name":"Binary Lifting","slug":"binary-lifting","problem_count":12},{"name":"Longest Increasing Subsequence","slug":"longest-increasing-subsequence","problem_count":12},{"name":"Randomized","slug":"randomized","problem_count":12},{"name":"Zero-Sum Game","slug":"zero-sum-game","problem_count":12},{"name":"Z Algorithm","slug":"z-algorithm","problem_count":11},{"name":"Sieve Theory","slug":"sieve-theory","problem_count":11},{"name":"Lowest Common Ancestor","slug":"lowest-common-ancestor","problem_count":11},{"name":"Counting Sort","slug":"counting-sort","problem_count":11},{"name":"Knuth–Morris–Pratt Algorithm","slug":"knuth–morris–pratt-algorithm","problem_count":10},{"name":"Primality Test","slug":"primality-test","problem_count":10},{"name":"Bipartite Graph","slug":"bipartite-graph","problem_count":10},{"name":"Fermat's Little Theorem","slug":"fermat's-little-theorem","problem_count":10},{"name":"Iterator","slug":"iterator","problem_count":9},{"name":"Suffix Array","slug":"suffix-array","problem_count":9},{"name":"Concurrency","slug":"concurrency","problem_count":9},{"name":"Quickselect","slug":"quickselect","problem_count":8},{"name":"Sweep Line","slug":"sweep-line","problem_count":8},{"name":"0-1 Knapsack","slug":"0-1-knapsack","problem_count":8},{"name":"Polygons","slug":"polygons","problem_count":8},{"name":"Quicksort","slug":"quicksort","problem_count":7},{"name":"Bidirectional Search","slug":"bidirectional-search","problem_count":7},{"name":"Prime Number Sieve","slug":"prime-number-sieve","problem_count":7},{"name":"Probability and Statistics","slug":"probability-and-statistics","problem_count":7},{"name":"Least Common Multiple","slug":"least-common-multiple","problem_count":7},{"name":"Flow Network","slug":"flow-network","problem_count":7},{"name":"Boyer–Moore String-Search Algorithm","slug":"boyer–moore-string-search-algorithm","problem_count":6},{"name":"Floyd's Cycle Finding Algorithm","slug":"floyd's-cycle-finding-algorithm","problem_count":6},{"name":"Bucket Sort","slug":"bucket-sort","problem_count":6},{"name":"Sqrt Decomposition","slug":"sqrt-decomposition","problem_count":6},{"name":"Treap","slug":"treap","problem_count":6},{"name":"Longest Common Subsequence","slug":"longest-common-subsequence","problem_count":6},{"name":"Matching (Graph)","slug":"matching-(graph)","problem_count":6},{"name":"Minimum Spanning Tree","slug":"minimum-spanning-tree","problem_count":6},{"name":"Pigeonhole Principle","slug":"pigeonhole-principle","problem_count":5},{"name":"Complete Knapsack","slug":"complete-knapsack","problem_count":5},{"name":"Impartial Game","slug":"impartial-game","problem_count":5},{"name":"Heuristic Search","slug":"heuristic-search","problem_count":5},{"name":"A* Search","slug":"a*-search","problem_count":5},{"name":"Cartesian Tree","slug":"cartesian-tree","problem_count":5},{"name":"Graph Coloring","slug":"graph-coloring","problem_count":5},{"name":"Kosaraju's Algorithm","slug":"kosaraju's-algorithm","problem_count":5},{"name":"Tarjan's SCC Algorithm","slug":"tarjan's-scc-algorithm","problem_count":5},{"name":"Successive Shortest Path Algorithm","slug":"successive-shortest-path-algorithm","problem_count":5},{"name":"Bubble Sort","slug":"bubble-sort","problem_count":4},{"name":"Boyer–Moore Majority Vote Algorithm","slug":"boyer–moore-majority-vote-algorithm","problem_count":4},{"name":"Shell","slug":"shell","problem_count":4},{"name":"Nim Game","slug":"nim-game","problem_count":4},{"name":"Sprague–Grundy Theorem","slug":"sprague–grundy-theorem","problem_count":4},{"name":"Reservoir Sampling","slug":"reservoir-sampling","problem_count":4},{"name":"Aho–Corasick Algorithm","slug":"aho–corasick-algorithm","problem_count":4},{"name":"Meet in the Middle","slug":"meet-in-the-middle","problem_count":4},{"name":"Hungarian Algorithm","slug":"hungarian-algorithm","problem_count":4},{"name":"Suffix Automaton","slug":"suffix-automaton","problem_count":4},{"name":"Suffix Tree","slug":"suffix-tree","problem_count":4},{"name":"Minimum-Cost Flow","slug":"minimum-cost-flow","problem_count":4},{"name":"Manacher","slug":"manacher","problem_count":3},{"name":"Algorithm X","slug":"algorithm-x","problem_count":3},{"name":"Radix Sort","slug":"radix-sort","problem_count":3},{"name":"Linear Algebra","slug":"linear-algebra","problem_count":3},{"name":"Eulerian Circuit","slug":"eulerian-circuit","problem_count":3},{"name":"Eulerian Path","slug":"eulerian-path","problem_count":3},{"name":"Inclusion-Exclusion Principle","slug":"inclusion-exclusion-principle","problem_count":3},{"name":"Prim's Algorithm","slug":"prim's-algorithm","problem_count":3},{"name":"Kruskal's Algorithm","slug":"kruskal's-algorithm","problem_count":3},{"name":"Borůvka's Algorithm","slug":"borůvka's-algorithm","problem_count":3},{"name":"Edmonds–Karp Algorithm","slug":"edmonds–karp-algorithm","problem_count":3},{"name":"MPM Algorithm","slug":"mpm-algorithm","problem_count":3},{"name":"Push-Relabel Algorithm","slug":"push-relabel-algorithm","problem_count":3},{"name":"Dinic's Algorithm","slug":"dinic's-algorithm","problem_count":3},{"name":"Range Minimum/Maximum Query","slug":"range-minimum/maximum-query","problem_count":2},{"name":"Brute-Force Search","slug":"brute-force-search","problem_count":2},{"name":"Semi-Eulerian Graph","slug":"semi-eulerian-graph","problem_count":2},{"name":"Bézout's Lemma","slug":"bézout's-lemma","problem_count":2},{"name":"Extended Euclidean Algorithm","slug":"extended-euclidean-algorithm","problem_count":2},{"name":"Bellman–Ford Algorithm","slug":"bellman–ford-algorithm","problem_count":2},{"name":"Floyd–Warshall Algorithm","slug":"floyd–warshall-algorithm","problem_count":2},{"name":"Rejection Sampling","slug":"rejection-sampling","problem_count":2},{"name":"Nearest Pair of Points","slug":"nearest-pair-of-points","problem_count":2},{"name":"Ternary Search","slug":"ternary-search","problem_count":2},{"name":"Hamiltonian Path","slug":"hamiltonian-path","problem_count":2},{"name":"Sort","slug":"sort","problem_count":2},{"name":"Maximum Flow","slug":"maximum-flow","problem_count":2},{"name":"Maximum Matching","slug":"maximum-matching","problem_count":2},{"name":"0-1 BFS","slug":"0-1-bfs","problem_count":2},{"name":"Perfect Matching","slug":"perfect-matching","problem_count":2},{"name":"Strongly Connected Component","slug":"strongly-connected-component","problem_count":2},{"name":"Mixed Knapsack","slug":"mixed-knapsack","problem_count":2},{"name":"Multiple Knapsack","slug":"multiple-knapsack","problem_count":2},{"name":"Tournament Sort","slug":"tournament-sort","problem_count":1},{"name":"Dancing Links","slug":"dancing-links","problem_count":1},{"name":"Newton's Method","slug":"newton's-method","problem_count":1},{"name":"Euler's Totient Function","slug":"euler's-totient-function","problem_count":1},{"name":"Euler's Theorem","slug":"euler's-theorem","problem_count":1},{"name":"Convex Hull","slug":"convex-hull","problem_count":1},{"name":"Eulerian Graph","slug":"eulerian-graph","problem_count":1},{"name":"Timsort","slug":"timsort","problem_count":1},{"name":"Lexicographically Minimal String Rotation","slug":"lexicographically-minimal-string-rotation","problem_count":1},{"name":"Planar Graph","slug":"planar-graph","problem_count":1},{"name":"K-D Tree","slug":"k-d-tree","problem_count":1},{"name":"Triangulation","slug":"triangulation","problem_count":1},{"name":"Persistent Data Structure","slug":"persistent-data-structure","problem_count":1},{"name":"Lyndon Factorization","slug":"lyndon-factorization","problem_count":1},{"name":"Biconnected Component","slug":"biconnected-component","problem_count":1},{"name":"Bridge (Graph)","slug":"bridge-(graph)","problem_count":1},{"name":"Minimum Cut","slug":"minimum-cut","problem_count":1},{"name":"Sparse Table","slug":"sparse-table","problem_count":1},{"name":"Articulation Point","slug":"articulation-point","problem_count":1},{"name":"Splay Tree","slug":"splay-tree","problem_count":1},{"name":"Minimum Enclosing Circle","slug":"minimum-enclosing-circle","problem_count":1},{"name":"Palindromic Tree","slug":"palindromic-tree","problem_count":1},{"name":"K Shortest Path","slug":"k-shortest-path","problem_count":1},{"name":"Li Chao Tree","slug":"li-chao-tree","problem_count":1},{"name":"Heap","slug":"heap","problem_count":1}]