BOJ 14181 - 함수와 쿼리 (D3)
CHT 처음 배울때 봤다가 이게 왜 CHT지 하고 탈주했다. http://boj.kr/14181 14181번: 함수와 쿼리 첫째 줄에 배열 a의 크기 n (1 ≤ n ≤ 105)가 주어지고, 둘째 줄에 배열 a[1], a[2], ..., a[n]이 주어진다. (0 ≤ a[i] ≤ 104) 다음 줄에는 쿼리의 개수 m (1 ≤ m ≤ 105)가 주어지고, 다음 m개의 줄에는 쿼리 www.acmicpc.net 풀이) Li-chao + Segment Tree 점화식을 세우기 영 쉽지 않아 보인다. 그러므로 정의에 따라 점화식을 관찰하자. $$ f(1,j)=a[j] $$ $$ f(2,j) = min (f(1,j), f(1,j-1)) + a[j] $$ $$ = min(2*a[j], a[j-1] + a[j]) $$..
더보기
BOJ 1739 - 도로 정비하기
티어: D5 (체감 D5) 알고리즘: 2-SAT 여기서는 가로 도로를 행, 세로 도로를 열로 표기한다. 어떤 버스가 (a,b)에서 (c,d)로 갈려면 다음 2가지 중 하나를 이용해야 한다. (도로를 최대 2개밖에 이용하지 못하기 때문) 1. a행, d열을 이용한다. 2. c행, b열을 이용한다. 일단 a≠c, b≠d라고 가정하고 예제 1의 테스트케이스 1을 보자. 위 그림은 테스트케이스 1번에서 (1,1)에서 (6,6)으로 가는 버스를 나타낸 것이다. 빨간색 경로는 1행과 6열을 이용해서 (1,1)에서 (6,6)으로 간다. 파란색 경로는 1열과 6행을 이용해서 (1,1)에서 (6,6)으로 간다. 위를 통해 (a,b)에서 (c,d)로 갈려면 a행, d열을 이용하거나 c행, b열을 이용해야 함을 알 수 있다..
더보기