자료구조 및 알고리즘 튜토리얼¶
각 항목에는 다음과 같이 이모지를 붙여 놓았습니다.
- 🧮 수학
- ♻️ 쿼리 및 자료구조
- ⚡ DP
- 🗺️ 그래프
- 🧵 문자열
- 🧭 기하
- 📪 기타
Silver Easy¶
Silver Hard¶
Gold Easy¶
Gold Hard¶
- ♻️ 스킵 리스트 by jh05013
Platinum Easy¶
- 🧮 중국인의 나머지 정리 by rkm0959
- ♻️ 펜윅 트리 구간 덧셈과 점 쿼리 by jh05013
- ♻️ 펜윅 트리 구간 덧셈과 구간 쿼리 by jh05013
Platinum Hard¶
- ♻️ Mo's 알고리즘 by djm03178
- ♻️ Persistent data structures by jh05013
Diamond Easy¶
- 🧮 정밀도 높은 고속 푸리에 변환 by jhnah917
- 🧮 Number-theoretic transform by jhnah917
- 🧮 보스탄-모리 알고리즘 by aeren
- ♻️ HLD 하나로 경로 쿼리와 서브트리 쿼리 모두 지원하기 by jh05013
- 🗺️ 삼각형 찾기 by jh05013
- ⚡ Slope trick by jwvg0425
- 🧵 회문 트리 by koosaga
- 🧭 도형의 합집합과 넓이 by jh05013
Diamond Hard¶
- 🧮 벌레캠프-매시 알고리즘 by koosaga
- 🧮 특성다항식 계산 by rkm0959
- ♻️ 세그먼트 트리 비츠 by rdd6584
- ♻️ 링크-컷 트리
- ⚡ Connection profile DP by jh05013
- ⚡ Hirshberg by koosaga
- ⚡ Aliens 트릭 by koosaga
- 🗺️ 도미네이터 트리 by koosaga
- 🗺️ 일반 매칭 by koosaga
Ruby Easy¶
- 🧮 Blue-red Hackenbush by rkm0959
- 🧵 접미사 트리 part 1 part 2 by jh05013
- 🗺️ Chordal graph by ainta
Ruby Hard¶
- ♻️ 탑 트리 by koosaga
아직 추가 안 한 것들¶
브론즈¶
- 📪 시간 복잡도
- 📪 브루트 포스
- 🧮 정수론 기초
- 🧮 조합론 기초
- 🧭 기하 기초
실버 이지¶
- 📪 정렬
- 📪 이분 탐색
- 📪 그리디
- 📪 비트마스크
- 🧮 에라토스테네스의 체
- 🧮 유클리드 알고리즘
- ♻️ 스택, 큐, 덱
- ♻️ 우선순위 큐
- ♻️ 집합과 맵
- 🗺️ 그래프
- 🗺️ 트리
- 📪 두 포인터와 슬라이딩 윈도우
실버 하드¶
- 📪 백트래킹
- 📪 분할 정복
- 🧮 빠른 거듭제곱
- ♻️ std::set의 이분 탐색
- ⚡ 다이나믹 프로그래밍
- 🗺️ 너비 우선 순회
- 🗺️ 깊이 우선 순회
- 📪 삼분 탐색
골드 이지¶
- 🧮 페르마 소정리
- 🧮 포함 배제의 원리
- 🧮 오일러 phi 함수
- 🧮 기댓값
- ♻️ 분리 집합
- 🗺️ 다익스트라
- 🗺️ 벨만-포드
- 🗺️ 플로이드-워셜
- 🗺️ 0-1 BFS
- 🗺️ 최소 스패닝 트리
- 🗺️ 위상 정렬
- 🧭 CCW
- 🧭 다각형의 넓이
- 🧭 볼록다각형 내부의 점 판별
골드 하드¶
- ♻️ 희소 배열
- ♻️ 제곱근 분할
- ♻️ 세그먼트 트리
- ♻️ 펜윅 트리
- ⚡ 트리에서의 다이나믹 프로그래밍
- ⚡ 비트마스크 다이나믹 프로그래밍
- ⚡ 게임 다이나믹 프로그래밍
- 🗺️ 오일러 경로
- 🧵 트라이
- 🧭 선분 교차
- 🧭 오목다각형 내부의 점 판별
- 🧭 픽의 정리
- 📪 O(NlogN) LIS
- 📪 Meet in the middle
- 📪 bitset
플래 이지¶
- 🧮 뤼카 정리
- 🧮 가우스 소거법
- 🧮 확장 유클리드 알고리즘
- ♻️ 펜윅 트리
- ♻️ 오프라인 쿼리
- ♻️ 느리게 갱신되는 세그먼트 트리
- ♻️ 오일러 투어 트릭
- ♻️ 병합 정렬 트리
- ♻️ 다차원 세그먼트 트리
- 🗺️ 강한 연결 요소
- 🗺️ 최소 공통 조상
- 🗺️ 이분 매칭
- 🗺️ 최대 유량
- 🗺️ 최대 유량 최소 컷 정리
- 🗺️ 이중 연결 요소
- 🧵 KMP
- 🧵 라빈-카프 해싱
- 🧵 카프-밀러-로젠버그 해싱
- 🧵 매내처
- 🧵 Z 알고리즘
- 🧭 볼록 껍질
- 🧭 볼록 다각형의 이분 탐색
- 🧭 회전하는 캘리퍼스
- 📪 2-SAT
- 📪 Smaller-to-larger
플래 하드¶
- 🧮 고속 푸리에 변환
- 🧮 밀러-라빈 소수 판별 알고리즘
- 🧮 스프라그-그런디 정리
- 🧮 뫼비우스 반전
- 🧮 번사이드 보조정리
- 🧮 이산 로그
- ⚡ 분할 정복 트릭
- ⚡ 크누스 트릭
- ♻️ 볼록 껍질 트릭
- ♻️ Heavy-light decomposition
- 🗺️ 최소 비용 최대 유량
- 🗺️ 디닉 알고리즘
- 🧵 접미사 배열
- 🧵 아호-코라식
- 🧵 로프
- 📪 병렬 이분 탐색
- 📪 Stable matching
다이아 이지¶
- 🧮 폴라드-로 소인수분해 알고리즘
- 🧮 생성함수
- 🧮 라그랑주 보간법
- ♻️ 스플레이 트리
- ♻️ 리-차오 트리
- 🗺️ 동적 연결성 판정
- 🗺️ Centroid decomposition
- 🗺️ 선인장
- 🗺️ 전역 최소 컷
- 🧭 동적 볼록 껍질
- 🧭 그린 정리
- 📪 헝가리안 알고리즘
다이아 하드¶
- 🧮 이산 제곱근
- 🧮 고속 다항식 나눗셈
- 🧮 고속 다항식 다중계산
- 🧮 온라인 FFT
- ⚡ Monotone queue optimization
- 🗺️ 유향 MST
- 🗺️ 홀의 정리
- 🧭 반평면 교집합
- 🧭 k-d 트리
- 🧭 평면 그래프의 쌍대성
- 📪 크누스 X와 댄싱 링크
루비 이지¶
- 🧮 매트로이드
- 🧮 매트로이드 교집합
- 🧭 보로노이 다이어그램
- 🧭 델로네 삼각 분할
루비 하드¶
- 🗺️ 온라인 동적 연결성 판정