Codepass Expert — Principle Encyclopedia
8 principles 심층 분석 →
PRINCIPLES — 21문제를 가로지르는 알고리즘 원리

문제는 스물한 개. 원리는 여덟 개. 같은 무기가 여러 전장에서 쓰인다.

심층 분석이 한 문제의 해법을 끝까지 파고든다면, 원리 백과는 그 해법들의 공통 뼈대를 따로 세운다. 각 원리 페이지는 핵심 아이디어 → 정당성 증명 → 완전한 C++ 구현 → Expert 문제가 그것을 어떻게 변형해 쓰는지 → 친척 알고리즘과의 선택 기준 순으로 전개된다. 원리에서 출발해 적용 문제로 내려가는 독법을 위한 지도다.

8 알고리즘 원리 증명 + 복잡도 + C++ 구현 문제 역참조 cross-link
Graph · Shortest Path
다익스트라 최단경로Dijkstra · O((V+E) log V)

비음 가중 그래프에서 한 번 꺼낸 거리는 다시 줄지 않는다. 상태 공간 확장과 비용 모델 합성이 Expert 변형의 핵심.

적용 № 01 로봇청소기 · № 12 노후화된도로 · № 15 대피소
Technique · Proof
그리디 교환논법Exchange Argument

최적해를 그리디해로 한 단계씩 교환해도 나빠지지 않음을 보이는 증명의 표준 틀. greedy choice property.

적용 № 01 로봇청소기 · № 02 안테나 · № 16 TV화질
Data Structure
Union-FindDisjoint Set · O(α(n))

동치관계를 분할로 관리한다. 경로압축과 union by rank가 거의 상수 시간을 만든다.

적용 № 04 IoT 가전
Heuristic · Routing
최근접 이웃 + SwapNearest-Neighbor · Θ(log n) 근사

매번 가장 가까운 미방문 노드를 고르는 라우팅 휴리스틱. 마지막 외진 노드의 약점을 swap이 보강한다.

적용 № 03 물류배송 · № 05 택시 · № 14 배달기사
Optimization
국소탐색 + k-MedianLocal Search · (3+2/p)-approx

이웃을 정의하고 더 나은 해로 이동을 반복한다. Arya-Garg 정리로 1-swap이 5-근사임이 보장된다.

적용 № 05 택시 · № 19 쓰레기통
Metaheuristic
시뮬레이티드 어닐링Simulated Annealing

온도에 따라 나쁜 해도 확률적으로 수용해 국소최적을 탈출한다. 냉각 스케줄과 Metropolis 기준.

적용 № 10 원형화물 · № 11 단백질폴딩 · № 13 칩설계
Bayesian Estimation
파티클 필터Particle Filter · Sequential Monte Carlo

사후분포를 가중 파티클 집합으로 근사한다. predict-update-resample의 순환이 차원의 저주를 피한다.

적용 № 18 죄인의 숲
Precomputation
Integral ImageSummed-Area Table · O(1) query

2D 누적합으로 임의 직사각형 영역합을 모서리 4점에 구한다. 면적이 패치 크기와 분리된다.

적용 № 21 Square

읽는 법원리에서 문제로, 문제에서 원리로

두 가지 독법이 있다. 문제에서 출발하면 — 심층 분석의 한 문제 페이지를 읽다가 §3·§5의 cross-link로 그 해법의 원리 페이지로 건너간다. 원리에서 출발하면 — 이 백과의 한 원리를 먼저 읽고, §4의 "Expert 문제가 비트는 방식"과 하단 적용 문제 링크로 구체적 사례로 내려간다.

같은 원리가 여러 문제에서 다른 옷을 입는다. 다익스트라는 로봇청소기에서 "칸+방향" 상태로, 노후화된도로에서 "보수비용 합성" 간선으로, 대피소에서 "초소형 transshipment"로 변형된다. 원리 페이지는 그 변형들을 한자리에 모아 — 무엇이 불변이고 무엇이 문제마다 달라지는지를 보여준다.