수학 |
Mathematics |
1786 |
다이나믹 프로그래밍 |
Dynamic programming |
1499 |
구현 |
Implementation |
1345 |
그래프 이론 |
Graph theory |
1317 |
자료 구조 |
Data structures |
1139 |
그리디 알고리즘 |
Greedy |
660 |
그래프 탐색 |
Graph traversal |
653 |
문자열 |
String |
599 |
세그먼트 트리 |
Segment tree |
513 |
브루트포스 알고리즘 |
Bruteforcing |
511 |
트리 |
Tree |
466 |
이분 탐색 |
Binary search |
460 |
정렬 |
Sorting |
449 |
기하학 |
Geometry |
441 |
정수론 |
Number theory |
387 |
너비 우선 탐색 |
Breadth-first search |
354 |
사칙연산 |
Arithmetic |
270 |
조합론 |
Combinatorics |
250 |
다익스트라 |
Dijkstra's |
217 |
깊이 우선 탐색 |
Depth-first search |
217 |
누적 합 |
Prefix sum |
201 |
시뮬레이션 |
Simulation |
201 |
비트마스킹 |
Bitmask |
188 |
분리 집합 |
Disjoint set |
179 |
분할 정복 |
Divide and conquer |
175 |
백트래킹 |
Backtracking |
171 |
구성적 |
Constructive |
161 |
스위핑 |
Sweeping |
144 |
최대 유량 |
Maximum flow |
143 |
애드 혹 |
Ad-Hoc |
140 |
트리에서의 다이나믹 프로그래밍 |
Dynamic programming on trees |
139 |
스택 |
Stack |
118 |
우선순위 큐 |
Priority queue |
115 |
파싱 |
Parsing |
115 |
느리게 갱신되는 세그먼트 트리 |
Segment tree with lazy propagation |
114 |
비트필드를 이용한 다이나믹 프로그래밍 |
Dynamic programming using bitfield |
107 |
게임 이론 |
Game theory |
107 |
두 포인터 |
Two-pointer |
106 |
Case work |
Case work |
101 |
소수 판정 |
Primality test |
95 |
이분 매칭 |
Bipartite matching |
95 |
분할 정복을 이용한 거듭제곱 |
Exponentiation by squaring |
93 |
오프라인 쿼리 |
Offline queries |
93 |
최소 스패닝 트리 |
Minimum spanning tree |
84 |
트리를 사용한 집합과 맵 |
Set / Map by trees |
82 |
임의 정밀도 / 큰 수 연산 |
Arbitrary precision / Big integers |
79 |
강한 연결 요소 |
Strongly connected component |
75 |
에라토스테네스의 체 |
Sieve of Eratosthenes |
71 |
재귀 |
Recursion |
69 |
최소 공통 조상 |
Lowest common ancestor |
68 |
해싱 |
Hashing |
67 |
볼록 껍질 |
Convex hull |
66 |
위상 정렬 |
Topological sorting |
66 |
선형대수학 |
Linear algebra |
64 |
플로이드–와샬 |
Floyd–Warshall |
63 |
고속 푸리에 변환 |
Fast Fourier transform |
62 |
트라이 |
Trie |
58 |
포함 배제의 원리 |
Inclusion and exclusion |
55 |
해시를 사용한 집합과 맵 |
Set / Map by hashing |
54 |
볼록 껍질을 이용한 최적화 |
Convex hull trick |
50 |
KMP |
Knuth–Morris–Pratt |
49 |
접미사 배열과 LCP 배열 |
Suffix array and LCP array |
46 |
최소 비용 최대 유량 |
Minimum cost maximum flow |
44 |
값 / 좌표 압축 |
Value / coordinate compression |
42 |
덱 |
Deque |
40 |
제곱근 분할법 |
Square root decomposition |
40 |
스프라그–그런디 정리 |
Sprague–Grundy theorem |
39 |
배낭 문제 |
Knapsack |
38 |
가장 긴 증가하는 부분 수열: O(n log n) |
Longest increasing sequence in O(n log n) |
37 |
중간에서 만나기 |
Meet in the middle |
37 |
희소 배열 |
Sparse array |
37 |
선분 교차 판정 |
Line segment intersection check |
36 |
유클리드 호제법 |
Euclidean algorithm |
35 |
Heavy-light 분할 |
Heavy-light decomposition |
35 |
작은 집합에서 큰 집합으로 합치는 테크닉 |
Smaller to larger technique |
34 |
런타임 전의 전처리 |
Precomputation |
34 |
슬라이딩 윈도우 |
Sliding window |
33 |
2-SAT |
2-SAT |
32 |
무작위화 |
Randomization |
32 |
삼분 탐색 |
Ternary search |
31 |
휴리스틱 |
Heuristics |
31 |
센트로이드 분할 |
Centroid decomposition |
30 |
퍼시스턴트 세그먼트 트리 |
Persistent segment tree |
28 |
미적분학 |
Calculus |
28 |
3차원 기하학 |
Geometry; 3D |
28 |
오일러 경로 테크닉 |
Euler tour technique |
28 |
최대 유량 최소 컷 정리 |
Max-flow min-cut theorem |
28 |
확률론 |
Probability theory |
28 |
단절점과 단절선 |
Articulation points and bridges |
27 |
가우스 소거법 |
Gaussian elimination |
27 |
선인장 |
Cactus |
26 |
Mo's |
Mo's |
22 |
중국인의 나머지 정리 |
Chinese remainder theorem |
21 |
오일러 경로 |
Eulerian path / circuit |
21 |
병렬 이분 탐색 |
Parallel binary search |
20 |
스플레이 트리 |
Splay tree |
20 |
분할 정복을 사용한 최적화 |
Divide and conquer optimization |
20 |
매개 변수 탐색 |
Parametric search |
20 |
큐 |
Queue |
18 |
오일러 지표 (χ=V-E+F) |
Euler characteristic (χ=V-E+F) |
18 |
아호-코라식 |
Aho-Corasick |
16 |
벨만–포드 |
Bellman–Ford |
16 |
확장 유클리드 호제법 |
Extended Euclidean algorithm |
16 |
다차원 세그먼트 트리 |
Multidimensional segment tree |
16 |
평면 그래프 |
Planar graph |
16 |
라빈–카프 |
Rabin–Karp |
15 |
비트 집합 |
Bit set |
15 |
이중 연결 요소 |
Biconnected component |
15 |
회전하는 캘리퍼스 |
Rotating calipers |
14 |
물리학 |
Physics |
14 |
덱을 이용한 다이나믹 프로그래밍 |
Dynamic programming using a deque |
13 |
순열 사이클 분할 |
Permutation cycle decomposition |
13 |
페르마의 소정리 |
Fermat's little theorem |
12 |
뫼비우스 반전 공식 |
Möbius inversion |
12 |
링크/컷 트리 |
Link/cut tree |
12 |
커넥션 프로파일을 이용한 다이나믹 프로그래밍 |
Dynamic programming using connection profile |
12 |
수치해석 |
Numerical analysis |
12 |
머지 소트 트리 |
Merge sort tree |
12 |
마나허 |
Manacher's |
11 |
볼록 다각형 내부의 점 판정 |
Point in convex polygon check |
10 |
선형 계획법 |
Linear programming |
10 |
벌래캠프–매시 |
Berlekamp–Massey |
10 |
Alien 트릭 |
Alien's trick |
10 |
외판원 순회 문제 |
Travelling salesman problem |
10 |
오일러 토션트 함수 |
Euler totient function |
10 |
인터프리터 |
Interpreter |
10 |
정규 표현식 |
Regular Expression |
9 |
함수 개형을 이용한 최적화 |
Slope trick |
9 |
다각형의 넓이 |
Area of a polygon |
8 |
번사이드 보조정리 |
Burnside's lemma |
8 |
오프라인 동적 연결성 판정 |
Offline dynamic connectivity |
8 |
0-1 너비 우선 탐색 |
0-1 BFS |
8 |
홀의 결혼 정리 |
Hall's theorem |
7 |
오목 다각형 내부의 점 판정 |
Point in non-convex polygon check |
7 |
폴라드 로 |
Pollard rho |
7 |
Z |
Z |
7 |
트리 동형 사상 |
Tree isomorphism |
7 |
키타마사 |
Kitamasa |
6 |
연결 리스트 |
Linked list |
6 |
최소 외접원 |
Minimum enclosing circle |
6 |
모듈로 곱셈 역원 |
Modular multiplicative inverse |
6 |
단조 큐를 이용한 최적화 |
Monotone queue optimization |
6 |
회문 트리 |
Palindrome tree |
5 |
피타고라스 정리 |
Pythagoras theorem |
5 |
스토어–바그너 |
Stoer–Wagner |
5 |
크누스 최적화 |
Knuth optimization |
5 |
매트로이드 |
Matroid |
5 |
도미네이터 트리 |
Dominator tree |
5 |
이산 로그 |
Discrete logarithm |
5 |
기댓값의 선형성 |
Linearity of expectation |
5 |
일반적인 매칭 |
General matching |
4 |
헝가리안 |
Hungarian |
4 |
밀러–라빈 소수 판별법 |
Miller–Rabin |
4 |
루카스 정리 |
Lucas theorem |
4 |
유향 최소 신장 트리 |
Directed minimum spanning tree |
3 |
보로노이 다이어그램 |
Voronoi diagram |
3 |
양방향 탐색 |
Bidirectional search |
3 |
이산 제곱근 |
Discrete square root |
3 |
보이어–무어 다수결 투표 |
Boyer–Moore majority vote |
3 |
히르쉬버그 |
Hirschberg's |
3 |
통계학 |
Statistics |
3 |
로프 |
Rope |
2 |
춤추는 링크 |
Dancing links |
2 |
크누스 X |
Knuth's X |
2 |
델로네 삼각분할 |
Delaunay triangulation |
1 |
레드-블랙 트리 |
Red-black tree |
1 |
4차원 이상의 기하학 |
Geometry; hyperdimensional |
1 |
이산 k제곱근 |
Discrete k-th root |
1 |