애니메이션
총 383개 · 5 / 16 페이지 · 97–120
본문 코드 펜스로 삽입: ```anim:<id>
태그로 필터 (697)
루트에서 시작해 너비 우선 (level order)으로 노드 방문
두 큰 수 1234 + 5678 를 일의 자리부터 더하며 자리올림을 전파. O(n) 학교 교과서 방식.
배열, 스택, 큐, 트리, 해시 테이블 등 주요 자료구조 비교
N=123, K=6. 자릿수 합이 6인 수의 개수. 왼쪽부터 각 자릿수 선택, tight 플래그로 upper bound 관리.
factorial(4) = 4 * factorial(3) ... 호출 스택이 쌓이고 base case 도달 후 unwinding 하며 값 계산.
팩토리얼 1..N 을 미리 계산. 이후 nCr 쿼리를 fact[n] * inv_fact[r] * inv_fact[n-r] 으로 O(1).
패턴 "a(b|c)*" 를 Thompson construction 으로 NFA 로 변환하고 문자열 "abcc" 매칭.
이항계수 C(n, r) = n! / (r! · (n-r)!) 과 Pascal 의 삼각형 DP
H_n = 1 + 1/2 + ... + 1/n, 발산하지만 log-growth
값 [-5, 10^9, 0, -5, 42] 를 정렬 후 unique -> [-5, 0, 42, 10^9] 로 압축, 각 값에 0..3 인덱스 할당.
x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7) → x = 23 (mod 105). 세 조건을 하나로 합친다.
재귀적 centroid 분해: O(log N) 깊이, 경로 쿼리 전처리
길이 5 배열에 [1,3] 구간 +5 갱신. d[1]+=5, d[4]-=5 후 prefix sum 으로 복원.
두 평문의 XOR 차이가 S-box를 거치면서 어떻게 변하는지 추적하고, DDT에서 확률을 확인한 후 키를 복구하는 과정.
주어진 차수 수열로 단순 그래프를 만들 수 있는지 Erdős-Gallai 정리로 판별
가중치 1 그래프에서 BFS로 최단 거리를 구합니다
최대 유량의 값은 최소 컷의 용량과 같다. residual graph BFS로 컷 복원.
Binary lifting 으로 O(log N) LCA 쿼리
SPFA로 최단 비용 경로를 찾아 반복 증가. 최대 유량을 최소 비용으로 달성.
간선을 가중치 순 정렬 후 Union-Find로 사이클 체크. V-1개 선택.
배열에서 빌드, 루트는 최솟값, in-order = 원래 순서
2x4 격자의 도미노 타일링을 broken profile DP 로 계산. profile bitmask (W=4) 가 경계면을 표현.
3개 변 (a, b, c) 로 삼각형 성립 여부 + 종류 (정삼각형, 이등변, 직각, 일반) 판별. 조건 분기 트리.
기본 push/pop 시퀀스 (FIFO) + BFS 의 큐 진행 예시 (레벨 순서 순회)