constraints | time complexity | algorithm |
---|---|---|
|
||
|
||
SegmentTree(bottom-up only) | ||
|
티어 분류 : 브론즈(B) 실버(S) 골드(G) 플레(P) 다이아(D) 루비(R) 기타(A)
-
-
- 펜윅 트리(G+)
- 세그먼트 트리(G+)
- 비재귀 세그(G+)
- 세그 이분 탐색(P-)
- 2D 펜윅(P-)
- 2D 세그(P-)
- n차원 펜윅(P-)
- 머지소트 트리(P-)
- 레이지 세그(P-)
- [비재귀 레이지 세그]
- 다이나믹 세그, 다이나믹 레이지 세그(P-)
range GCD 세그(P+)- 금광 세그(P+)
- [퍼시스턴트 세그(P+)]
- [세그트리 비츠(D+)]
-
- 스플레이 트리(D-)
- [링크/컷 트리(D+)]
- [레드-블랙 트리]
-
-
-
- [flood fill]
- [0-1 bfs(G-)]
- 이분 그래프 판정(G-)
- 다익스트라(G-)
[A*]- 벨만-포드(G-)
- SPFA(G-)
- 플로이드 워셜(G-)
- 최소 스패닝 트리: Kruskal(G-)
[최소 스패닝 트리: Prim(G-)]- [최소 스패닝 트리: Borůvka]
- 정점 착색수(G+)
- [간선 착색수]
- 위상 정렬(G+)
- 강한 연결 요소(P-)
- 2-SAT(P-)
- 오일러 회로(P-)
- 단절점(P-)
- 단절선(P-)
- [이중 연결 요소]
- [블록 컷 트리]
- [선인장]
- [2th MST(D-)]
- [쌍대 그래프(D-)]
- [도미네이터 트리(D-)]
- [오프라인 동적 연결성 판정]
- [온라인 동적 연결성 판정]
- 유향 MST(D+)
- [현 그래프(D+)]
- [일반 매칭(D+)]
- offline incremental SCC(R-)
-
- 최대유량: Edmonds-Karp (P-)
- [최대유량: Dinic (P-)]
[최대유량: Push-Relabel (P-)]- 최소 비용 최대 유량(P+)
- 이분 매칭(P-)
- [Circulation]
- [이분 매칭: Hopcraft-Karp]
- [Stoer-Wagner Algorithm]
- [Gomory-Hu Tree]
- [헝가리안]
- [L-R flow]
-
- 최소 공통 조상(P-)
- LCA를 통한 트리 쿼리(P-)
- 오일러 경로 테크닉(P-)
- [heavy-light 분할(P+)]
- [트리 압축]
- [센트로이드 분할(D-)]
- [트리 동형 사상]
- [탑 트리(R-)]
-
-
- Kadane algorithm(S+)
- 배낭 문제(G-)
- 비트셋 배낭(G-)
- 비트마스크 DP(G+)
- [최단거리 역추적]
- SOS DP(D-)
- [히르쉬버그(D+)]
- [Connection Profile DP]
- [토글링]
- 볼록껍질 최적화(P+)
- 분할정복 최적화(P+)
- [크누스 최적화]
- [단조큐 최적화]
- [Slope trick(D-)]
- [키타마사(D-)]
- [벌레캠프-매시(D+)]
-
- 문자열 압축(B)
- 트라이(G+)
- 매내처(P-)
- KMP(P-)
- 아호 코라식(P+)
[bitap algorithm]- [해싱]
- [라빈 카프]
- 접미사 배열과 lcp 배열(P+)
- [Z algorithm]
- 회문 트리(D+)
- [접미사 트리(R-)]
-
- cross product, CCW, 직선-점 거리 계산(G-)
- [plane sweeping]
- 볼록다각형 넓이(G-)
- [볼록다각형 판정]
- 선분교차판정(G+)
- 선분교차점 계산(P-)
- 볼록 껍질(P-)
- 가장 먼 두 점 : 회전하는 캘리퍼스(P-)
- 다각형 내부의 점 판정(P-)
- 볼록 다각형 내부의 점 판정(P+)
- 등적등주 분할(P+)
- 가장 가까운 두 점(P+)
- [최소 외접원(P+)]
- [반 나누기]
- [볼록다각형 접선]
- [불도저]
- [반평면 교집합(D-)]
[반공간 교집합]- [KD tree]
- [그린 정리(D+)]
- [델로네 삼각분할(R-)]
- [보로노이 다이어그램(R-)]
-
- 에라토스테네스의 체(S+)
- 분할정복 거듭제곱(S+)
- nCr, 파스칼의 삼각형(S+)
- p-지수(G+)
- 확장 유클리드 호제법, 모듈러 역원(G+)
- 오일러 파이 함수(G+)
- 고합성수 검색용 구현체(A)
- 중국인의 나머지 정리(P-)
- [Garner's algorithm]
- [nCr mod 소수, 뤼카(P-)]
- [nCr mod 합성수(D-)]
- [이산 로그(P+)]
- 밀러-라빈 소수 판별법(P+)
- 폴라드 로(P+)
[카라츠바]- FFT(P+)
- [3진 FFT(D-)]
- [정밀도 높은 FFT(D-)]
- NTT(D-)
- [FFT 나눗셈]
- [online FFT]
- [포함 배제의 원리, 뫼비우스 함수, 뫼비우스 반전(D-)]
- [생성 함수(D-)]
- Tonelli-Shanks algorithm(A)
- Cornacchia's algorithm(A)
- [메르텐스 함수]
- [매트로이드(R-)]
-
- 행렬(S-)
- [가우스 소거법(P-)]
- [키르히호프(P-)]
-
- [스프라그-그런디]
- [hackenbush]
-
- [fastio]
- 비트 트릭(A)
- 비트 트릭 2(A)
- 계수 정렬
- 기수 정렬(S-)
- 이분 탐색(S-)
- 비트마스크(S-)
- 값 / 좌표 압축(S-)
- 순열 사이클 분할(S+)
- [투 포인터(G-)]
- [랜덤]
- [모노톤 스택]
- [모노톤 큐]
- [누적합, imos]
- 후위 표기식(G+)
- [중간에서 만나기(G+)]
- 반전수(P-)
- [스위핑]
- [슬라이딩 윈도우]
- 덱을 이용한 구간 최댓값 트릭(P-)
- XOR 트라이(P-)
- 삼분 탐색(P-)
- Mo's algorithm(P+)
- 평방분할(P+)
- [병렬 이분 탐색(P+)]
- [춤추는 링크, 크누스 X]
- [임의 정밀도(epsilon값 계산)(A)]
[담금질 기법]
-
- [range-based for loop]
- [using]
- [literal]
- template argument deduction
- [람다 재귀]
- [코드 여러줄 이어쓰기]
- [리터럴 여러줄 이어쓰기]
-
- [cph]
- [snippet]
- [debug, c_cpp_properties.json 설정]
- [predifined macro]
- [percompiled header]
tlsdydaud1
https://00ad-8e71-00ff-055d.tistory.com/3
jh05013
https://jh05013.github.io/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/
jhnah917
https://justicehui.github.io/tutorial/
https://github.com/justiceHui/Unknown-To-Wellknown
jin814
https://blog.naver.com/jinhan814/222439886998
https://blog.naver.com/PostView.naver?blogId=jinhan814&logNo=222689836982&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=false&from=postView
백준 알고리즘 분류
https://www.acmicpc.net/problem/tags
선형대수학
https://tistory.joonhyung.xyz/18
bowbowbow
https://bowbowbow.tistory.com/category/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
kks227
https://m.blog.naver.com/kks227?categoryNo=299&tab=1
MJ Studio
https://ps.mjstudio.net/categories/algorithm
koosaga
https://koosaga.com/242
stateDiagram-v2
direction LR
%% [*] --> 자료구조
자료구조 --> 펜윅_트리
펜윅_트리 --> 2D_펜윅
2D_펜윅 --> n차원_펜윅
자료구조 --> 세그먼트_트리
세그먼트_트리 --> 2D_세그
세그먼트_트리 --> 머지소트_트리
세그먼트_트리 --> 다이나믹_세그
세그먼트_트리 --> 레이지_세그
다이나믹_세그 --> 다이나믹_레이지_세그
레이지_세그 --> 다이나믹_레이지_세그
세그먼트_트리 --> 금광_세그
자료구조 --> 스플레이_트리
레이지_세그 --> 스플레이_트리
자료구조 --> 분리_집합
자료구조 --> 희소_배열
%% [*] --> 그래프_이론
%% 그래프_이론 --> 그래프
그래프 --> 최소_스패닝_트리
그래프 --> 이분_그래프_판정
그래프 --> 다익스트라
그래프 --> 벨만_포드
벨만_포드 --> SPFA
그래프 --> 플로이드_워셜
그래프 --> 정점_착색수
그래프 --> 위상_정렬
그래프 --> 강한_연결_요소
강한_연결_요소 --> 2_SAT
그래프 --> 오일러_회로
그래프 --> 단절량
그래프 --> 단절선
그래프 --> 유향_최소_신장_트리
그래프 --> 네트워크_플로우
네트워크_플로우 --> 최대유량
최대유량 --> 최소_비용_최대_유량
SPFA --> 최소_비용_최대_유량
네트워크_플로우 --> 이분_매칭
그래프 --> 트리
트리 --> 최소_공통_조상
희소_배열 --> 최소_공통_조상
트리 --> 오일러_경로_테크닉
%% [*] --> 동적_계획법
동적_계획법 --> 비트마스크_DP
동적_계획법 --> 볼록껍질_최적화
동적_계획법 --> 분할정복_최적화
%% [*] --> 수학
수학 --> 에라토스테네스의_체
수학 --> 조합론
조합론 --> nCr_파스칼의_삼각형
동적_계획법 --> nCr_파스칼의_삼각형
조합론 --> nCr_mod_소수
모듈러_역원 --> nCr_mod_소수
%% nCr_mod_소수 --> 뤼카
수학 --> 분할정복_거듭제곱
분할정복_거듭제곱 --> 행렬_거듭제곱
분할정복_거듭제곱 --> 밀러_라빈_소수_판별법
밀러_라빈_소수_판별법 --> 폴라드_로
유클리드_호제법 --> 폴라드_로
수학 --> 유클리드_호제법
유클리드_호제법 --> 확장_유클리드_호제법
확장_유클리드_호제법 --> 모듈러_역원
모듈러_역원 --> 중국인의_나머지_정리
수학 --> 오일러_파이_함수
수학 --> FFT
FFT --> NTT
중국인의_나머지_정리 --> NTT
%% [*] --> 문자열
문자열 --> 트라이
트라이 --> XOR_트라이
문자열 --> KMP
트라이 --> 아호_코라식
KMP --> 아호_코라식
%% 계수_정렬 --> 접미사_배열과_lcp_배열
문자열 --> 접미사_배열과_lcp_배열
문자열 --> 펠린드롬
펠린드롬 --> 매내처
펠린드롬 --> 회문_트리
%% [*] --> 기하학
기하학 --> 외적
외적 --> ccw
외적 --> 직선_점_거리_계산
ccw --> 선분교차판정
ccw --> 볼록껍질
ccw --> 회전하는_캘리퍼스
ccw --> 다각형_내부의_점_판정
ccw --> 볼록_다각형_내부의_점_판점
기하학 --> 가장_가까운_두_점
[*] --> 기타
기타 --> 이분_탐색
이분_탐색 --> 볼록_다각형_내부의_점_판점
기타 --> 값_좌표_압축
기타 --> 순열_사이클_분할
기타 --> Mo's
기타 --> 평방분할
%% 나중에 추가할 거 같은 간선
%% 트리_압축 --> 유향_최소_신장_트리
%% 최대유량_Dinic --> 이칭_매칭_Hopcraft_Karp
%% 트라이 --> 아호_코라식
%% ccw --> 볼록다각형_판정