학습 경로
순서가 있는 문제 묶음으로 개념을 익히고 진행도를 이어가세요.
반복되는 구간 계산을 전처리해 합, 개수, XOR, 행렬 질의를 빠르게 처리합니다.
정렬된 값과 단조 조건에서 탐색 범위를 절반씩 줄여 답을 찾습니다.
현재의 최선 선택이 전체 최적해로 이어지는 조건과 선택 기준을 익힙니다.
그래프와 격자를 깊이·너비 우선으로 탐색해 연결성과 최단 거리를 구합니다.
겹치는 부분 문제의 답을 저장하고 상태 전이로 최적값과 경우의 수를 계산합니다.
두 경계만 이동하며 정렬된 값과 연속 구간을 선형 또는 제곱 시간에 탐색합니다.
가장 작거나 큰 원소를 빠르게 선택하고, 두 힙을 결합해 흐르는 데이터와 일정 문제를 해결합니다.
문제를 같은 구조의 작은 부분으로 나누고 결과를 합쳐 큰 입력을 효율적으로 처리합니다.
약수와 배수, 소수, 합동식을 다루는 핵심 알고리즘으로 큰 정수 문제를 구조화합니다.
선택과 배열의 수를 이항계수, 카탈란 수, 포함배제와 모듈러 계산으로 다룹니다.
분리 집합으로 연결 여부, 연결 요소 수, 순환과 집합 크기를 효율적으로 관리합니다.
선후 관계를 위상 순서로 정리하고 작업 시간, 경로와 순서 수를 계산합니다.
다익스트라, 0-1 BFS, 벨만-포드와 플로이드-워셜로 다양한 최단 경로를 계산합니다.
크루스칼과 분리 집합으로 최소 연결망, 절감 비용과 대체 연결망을 계산합니다.
트리에 뿌리를 정하고 부모, 깊이, 서브트리, 지름과 트리 DP를 다룹니다.