본문으로 건너뛰기
김신건의 로그

애니메이션

총 383개 · 9 / 16 페이지 · 193–216

본문 코드 펜스로 삽입: ```anim:<id>

태그로 필터 (697)
Knuth Optimization 13.0s

크누스 최적화로 구간 DP O(N^3) -> O(N^2). DP 테이블을 구간 길이 순으로 채우며, 각 dp[i][j]의 k 탐색 범위를 opt[i][j-1] <= k <= opt[i+1][j] 로 제한한다.

🔢 알고리즘 knuth
21 elements · 4 chapters
#algorithm #dp #optimization #divide-and-conquer
Knuth X (DLX) Exact Cover 12.0s

4x4 0-1 행렬에서 모든 열을 정확히 한 번 커버하는 행 집합을 backtracking 으로 탐색. 선택된 행(초록)과 제거된 열/행(회색)을 표시. Dancing Links 로 O(1) cover/uncover.

🔢 알고리즘 knuth-x
19 elements · 5 chapters
#algorithm #search #knuth-x #exact-cover +1
Kruskal, 최소 신장 트리 (MST) 13.4s

6 정점 / 8 간선의 가중 그래프에서 가중치 정렬 + Union-Find 로 사이클 없는 최소 신장 트리 구축

🔢 알고리즘 mst-kruskal
34 elements · 9 chapters
#mst #kruskal #graph #union-find
LCS (Longest Common Subsequence) 14.0s

A=ABCD, B=ACBD의 LCS. dp[i][j] = A[0..i-1]과 B[0..j-1]의 LCS 길이. 최종 dp[4][4]=3 (ACB 또는 ACD).

🔢 알고리즘 lcs
16 elements · 7 chapters
#dp #lcs #string
LGV Lemma, Non-intersecting Paths 12.0s

2x2 격자에서 시작점 (0,0), (0,1) 에서 끝점 (2,0), (2,1) 로 가는 non-intersecting path 개수 = det(M).

🔢 알고리즘 lgv-theorem
23 elements · 4 chapters
#algorithm #math #lgv #lattice-path
Li Chao Tree (리차오 트리) 9.0s

동적 CHT, 직선 추가 후 x 좌표의 최솟값 쿼리 O(log N)

🔢 알고리즘 li-chao-tree
7 elements · 4 chapters
#data-structure #tree #cht #li-chao
Line Segment Intersection (CCW) 13.0s

두 선분 A(1,1)-B(7,3) 와 C(2,4)-D(6,1) 의 교차 판정. CCW(a,b,c)?CCW(a,b,d) < 0 and CCW(c,d,a)?CCW(c,d,b) < 0.

🔢 알고리즘 line-intersection
13 elements · 5 chapters
#line-intersection #geometry #algorithm
Linearity of Expectation, E[X+Y] = E[X] + E[Y] 13.0s

기댓값 선형성: 독립이 아니어도 E[X+Y] = E[X] + E[Y] 항상 성립

🔢 알고리즘 linearity-of-expectation
11 elements · 5 chapters
#expected-value #probability #linearity #math
LinkedHashMap, accessOrder 와 LRU 패턴 14.0s

LinkedHashMap 의 doubly-linked list 가 삽입 순서를 유지하고, accessOrder=true 일 때 get/put 마다 노드가 tail 로 이동해 LRU 캐시를 구현한다.

🔢 알고리즘 java-linkedhashmap-lru
12 elements · 5 chapters
#java #linkedhashmap #lru #cache +1
LinkedList, 노드 포인터로 엮인 List 18.0s

양방향 연결 리스트의 addFirst, addLast, get(인덱스 탐색), remove 가 노드 포인터를 어떻게 바꾸는지 보여준다.

🔢 알고리즘 java-linkedlist-ops
17 elements · 5 chapters
#java #linkedlist #linked-list #collection +1
LIS (Longest Increasing Subsequence) 13.0s

O(N log N) binary search approach: maintain tail array of minimum ending values for each length

🔢 알고리즘 lis
14 elements · 6 chapters
#dp #binary-search #lis #optimization
List 인터페이스의 핵심 연산 14.0s

get, set, add, remove 네 가지 핵심 연산이 인덱스 기반 List 에서 어떻게 동작하는지 추상화된 셀로 시각화한다.

🔢 알고리즘 java-list-overview
9 elements · 5 chapters
#java #list #collection #data-structure
LRU Cache (capacity = 3) 5.2s

PUT(A), PUT(B), PUT(C), GET(A), PUT(D), D 삽입 시 가장 오래된 B 가 evict

🔢 알고리즘 lru-cache
12 elements · 6 chapters
#lru #cache #data-structure #algorithm
LTE: v_3(4^9 - 1^9) = v_3(3) + v_3(9) = 1 + 2 = 3 14.0s

Lifting The Exponent lemma. v_p(a^n - b^n) = v_p(a-b) + v_p(n) when p|a-b, p not|a, p not|b.

🔢 알고리즘 lte
18 elements · 6 chapters
#math #lte #number-theory #exponent
Lucas Theorem: nCr mod p 13.0s

n=7, r=3, p=5 에 대해 Lucas 정리로 nCr mod p 계산. 각 p진수 자릿수 조합의 곱.

🔢 알고리즘 lucas
11 elements · 5 chapters
#lucas #combinatorics #number-theory #math
Matroid, Matroid Intersection 12.0s

Graphic matroid (3 간선, forest) 과 partition matroid (3 색, 각 색 최대 1 개) 의 교집합으로 최대 독립 집합 찾기.

🔢 알고리즘 matroid
17 elements · 4 chapters
#algorithm #math #matroid #intersection
Maximum Subarray (Kadane's Algorithm) 14.0s

O(N) greedy/DP approach: discard negative prefix, keep positive cumulative sum

🔢 알고리즘 maximum-subarray
15 elements · 7 chapters
#dp #greedy #kadane #maximum-subarray
Merge Sort Tree (머지 소트 트리) 10.0s

세그먼트 트리 각 노드에 정렬된 배열 저장, 구간 내 k 이상 개수 쿼리

🔢 알고리즘 merge-sort-tree
7 elements · 4 chapters
#data-structure #tree #merge-sort-tree
Merge Sort, 분할 정복 + 머지 14.0s

배열을 반으로 나눠 각각 정렬한 뒤 합친다. 항상 O(n log n) 보장, 안정 정렬.

🔢 알고리즘 merge-sort
11 elements · 8 chapters
#merge-sort #sorting #divide-and-conquer
Minimum Enclosing Circle, Welzl's Algorithm 13.5s

5개 점에 대한 최소 외접원 탐색. 무작위 순서로 점을 추가하며 원 밖의 점을 경계에 편입. 최종 원은 3개 support point 로 결정.

🔢 알고리즘 min-enclosing-circle
10 elements · 7 chapters
#min-enclosing-circle #geometry #algorithm
MITM, O(2^(N/2)) 부분 집합 탐색 14.0s

N=6 배열을 N/2=3 씩 분할. 각각 모든 부분집합 합(8개) 열거 후 정렬, 이분 탐색으로 target 조합.

🔢 알고리즘 mitm
17 elements · 6 chapters
#mitm #meet-in-the-middle #search #algorithm
Mo's Algorithm, 포인터 이동 재사용 14.0s

8개 원소 배열, 3개 쿼리. L,R 포인터가 블록 정렬 순서로 움직이며 구간 정보 갱신, O((N+Q)√N)

🔢 알고리즘 mo
16 elements · 5 chapters
#algorithm #query #mo #offline
Multipoint Evaluation, O((N+M) log² N) 다중점 평가 14.0s

P(x) = x³ + 2x + 1을 {1,2,3,4}에서 평가. 평가점 세그먼트 트리 구축, P mod 각 subtree poly로 차수 절반씩 감소, 리프에서 상수 추출.

🔢 알고리즘 multipoint-evaluation
19 elements · 5 chapters
#algorithm #math #polynomial #multipoint-evaluation
Offline Incremental SCC, Parallel Binary Search 14.0s

간선이 시간 순서로 추가되는 유향 그래프에서 두 정점이 같은 SCC 에 속한 최초 시각을 병렬 이분탐색으로 O((N+M) log T) 에 해결. 같은 mid 를 가진 쿼리들을 묶어 한 번의 SCC 판정으로 모두 처리.

🔢 알고리즘 offline-incremental-scc
16 elements · 5 chapters
#algorithm #graph #scc #parallel-binary-search

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기