애니메이션
총 383개 · 11 / 16 페이지 · 241–264
본문 코드 펜스로 삽입: ```anim:<id>
태그로 필터 (697)
구간 chmin 같은 비단조 lazy 연산을 max1/max2 를 이용해 amortized O(log² N) 에 처리하는 세그먼트 트리 기법.
매 단계마다 남은 부분에서 최솟값을 찾아 맨 앞으로 보낸다. 교환 횟수가 n-1 회로 가장 적다.
중복 없는 정렬된 집합, 삽입/삭제/검색 O(log N)
에라토스테네스의 체. 2~30 범위의 29개 수를 6×5 그리드로 배치. 2의 배수(빨강), 3의 배수(빨강), 5의 배수(빨강)를 순차 제거. 남은 수가 소수(녹색). O(N log log N).
8개의 정수를 한 번에 한 개씩 더하는 대신 256비트 SIMD 레지스터로 8개를 동시에 처리하는 방법을 시각화합니다.
고온 (exploration) -> 저온 (exploitation). Metropolis criterion P=exp(-delta/T).
볼록 piecewise-linear 함수를 두 개 priority queue로 유지. |x-a| 추가 연산을 O(log N)에 처리, 최솟값 구간 [L.top, R.top]을 추적.
작은 집합을 큰 집합으로 병합: 총 O(N log N)
N=3 (8개 mask) 에 대해 SOS DP 수행. 각 bit i 마다 mask 를 순회하며 f[mask] += f[mask ^ (1<<i)] 로 부분 집합 합을 누적.
O(N log N) 전처리, O(1) 구간 쿼리 (min, max, gcd)
Grundy number 계산 (take {1,3,4}) 와 mex 규칙 시각화
N 개 쿼리를 sqrt(N) 크기 버킷으로 나눠 배치 실행, 자료 구조 재구성 횟수 감소로 O(N sqrt N) 달성
Divides array into blocks of size sqrt(N) to optimize range queries.
모든 기약 분수가 정확히 한 번 등장하는 무한 이진 트리. mediant 연산으로 π ≈ 3.14 에 근사하는 경로를 탐색.
5개 정점 가중치 그래프에서 phase 마다 가장 연결이 강한 정점을 선택(노란색), 마지막 두 정점 s/t 의 cut weight를 기록하고 병합(빨간 점선). Phase 3 에서 최소 컷 weight=4 발견.
문자열 해싱: 다항식 해시로 O(1) 부분 문자열 비교
"banana" 의 접미사들을 정렬한 SA 배열과 LCP 배열 구축 과정
문자열 aba 를 한 글자씩 extend 하며 state 생성, suffix link, clone 단계를 거쳐 최소 DFA 완성. 모든 부분문자열 인식 자동기.
p=17, n=8. x^2 ≡ 8 (mod 17) 의 해를 Tonelli-Shanks 알고리즘으로 탐색. p-1=16=2^4·1, s=1, e=4.
원본 트리(왼쪽)에서 4 개 선택 노드를 추출해 virtual tree(오른쪽)를 구성. LCA 노드가 자동 추가되어 최대 2K-1 노드의 작은 트리가 만들어진다.
그래프의 treewidth 를 정의하는 tree decomposition, 각 정점이 연속된 bag 에 등장하는 성질로 DP 를 가능하게 한다.
트리 DP 최적화. 우선순위 큐로 자식을 점수 순 처리, 교환 논증으로 순서 정당화.
TreeMap 의 백킹인 red-black tree 는 5 가지 불변식으로 balanced 를 유지해 모든 연산이 O(log n).
BBST 기반 정렬 집합, lower_bound, upper_bound 지원