/
https://42jerrykim.github.io/ _index.md
원형 보드를 돌-돌 사이의 빈 구간으로 분해한다. 같은 색 끝 구간은 독점, 다른 색 끝 구간은 양쪽 절반을 가져가고 홀수 길이는 가운데 값만 남는다. 남은 가운데 값들을 내림차순 정렬해 번갈아 더해 O(N log N)으로 점수를 구한다. 1..N이 각각 두 번 등장하는 길이 2N 수열을 구성한다. S_N=[N,N-1]+S_{N-2}+[N,N-1]로 감싸며 (N-1)^2≡1, N≡1(mod N-1)로 모듈 조건을 귀납적으로 증명한다. 홀짝 베이스(S1,S2)에서 시작해 덱으로 O(N)에 생성·출력한다. A,B 전체에 동일 증가가 반복된다. d=A-B를 정렬하고 delta=addA-addB로 흡수해 Σmax(d+delta,0)을 upper_bound와 누적합으로 O((N+Q)logN)에 계산한다. 양끝을 제외한 모든 위치가 지역 최솟값/최댓값이 되도록 하는 순열을 센다. 이는 up-down(교대) 순열과 동치이며 Entringer 수 DP로 N≤20에서 오일러 지그재그 수를 빠르게 구한다. 연속 작업을 배치로 나눌 때 총 비용(출력시간×가중치)을 최소화한다. DP 점화식을 정리해 일차함수 최소화 형태로 만들고, 단조 조건을 이용한 Convex Hull Trick으로 O(N)~O(N log N)에 해결한다. 격자 도시(구멍 없음)의 최단거리 합을 행/열 연속구간으로 압축해 두 가중 트리로 분해한다. 각 트리에서 간선 절단 시 양쪽 가중치 곱을 합산해 O(N log N)으로 1e9 모듈 답을 구한다. 스왑 비용이 두 소의 값 합일 때, 순열 사이클 분해로 최소 비용을 계산한다. 사이클 내부 교환과 전체 최소값 보조 교환을 비교해 O(N log N)으로 해결한다. 두 문자열(각 ≤10000)의 LCS 길이와 수열을 3MB 메모리로 출력한다. Hirschberg 분할정복으로 DP 2행만 유지해 O(nm) 시간, O(min(n,m)) 공간에 LCS를 복원한다. 건물의 폭 d는 결과에 영향이 없고 높이만 보면 된다. 단조 스택으로 스카이라인 높이 변화를 추적하며, 높이가 내려갈 때마다 완료된 포스터를 카운트해 O(N)에 최소 포스터 수를 구한다. 영어 명사 'cynicism'의 핵심 뜻(냉소주의, 사람의 동기에 대한 불신, 부정적 태도)을 정리한다. 철학, 심리학, 뉴스, 일상 표현에서 자주 쓰이는 정확한 용법을 콜로케이션과 EN/KR 예문 50개로 익힌다. 정치, 사회, 개인 관계, 비즈니스에서 반복 등장하는 중요한 명사.