2016 본선문제 풀이
2016본선문제풀이
A. 끝말잇기
•입력은조작된사전이들어온다.
• 그러므로, 입력의 모든 영단어는 구성 알파벳이 정렬되어 있다.
• 또한, 모든 조작된 단어가 사전순으로 정렬되어 들어온다.
• 즉, 모든 단어가 차례대로 word[i-1].last == word[i].first를 만족하면 YES,
한 번이라도 만족하지 못하면 NO.
출제자: 김동이
F. DNA 비밀번호
• 가장 쉬운 풀이는 가능한 모든 경우를 전부 해보는 것
• 시간복잡도 O(PS)
• 시간초과!
• 현재 보고 있는 문자열 PiPi+1…Pi+s-1의 [‘A’, ‘C’, ‘G’, ‘T’]의 개수
• 다음 보게 되는 문자열 Pi+1Pi+2…Pi+s의 [‘A’, ‘C’, ‘G’, ‘T’]의 개수
• 두 문자열의 구성은 Pi, Pi+S 외에 모두 겹친다.
• 배열을 사용하여 시간을 줄인다. cnt[4]에 카운팅한다.
출제자: 천민호
C. Candy
• 문제 요약
• 𝑘=0𝑛 2𝑘 ×𝑛𝐶𝑘
• = 𝑘=0𝑛 1𝑛−𝑘2𝑘 ×𝑛𝐶𝑘
• = (1 + 2)n = 3n
• 𝑘=1𝑛 2𝑘 ×𝑛𝐶𝑘 = 3𝑛 − 1
출제자: 장홍준
H. 사서왕 준서
• 필요한 최소의 노동력• 모든 책을 옮기는 노동력(sumf) – 쓰지 않아도 되는 최대의 노동력(maxf)• 옮기지 않아도 되는 비내림차순 책들의 노동력을 조사한다.
• D[i]: i번째 책을 마지막으로 하는 비내림차순 책들의 노동력합의 최대값
• D[i] = max(D[j]) + f[i] //j = 0 ~ i-1
• 답: sumf – maxf
• 시간복잡도: O(N2)
출제자: 김현정
D. InterGrid
• Vertex: 출발점, 웜홀, 도착점
• Edge: 시작점->웜홀 / 웜홀 <-> 웜홀 / 웜홀->도착점모든 Edge는 manhatan dist의 가중치를 가진다.
출제자: 송기선
S E
1
3
2
4
D. InterGrid
• 출발점 -> 도착점
• Dijkstra Algorithm
• 시간복잡도 O(V2)
출제자: 송기선
E. Three-Tree
• S는 N2비례하는 크기 => 이런 모양의 트리를 구성할 수 있다.
• 이 때 생기는 단순 경로의 개수 S = B * (A + B – 1)
• B, (A + B – 1)을 S의 약수 쌍으로 정하면 되겠구나!
• 그런데 S가 소수라면.. ? B = 1, A = S?
출제자: 전명우
S
B개
A개
E. Three-Tree
• C개의 노드를 추가해보자!
• 늘어나는 단순 경로의 개수는 정확히 C개
• 길이 3인 단순 경로 개수 S = B * (A + B – 1) + C
• 이제 S가 소수여도 C를 적절히 잘 정하자
• C 후보 개수 약 S개, B 후보 개수 약 S0.5개
• 시간복잡도 O(S1.5)
출제자: 전명우
S
B개
A개
C개
G. I.O.I
• 1~N번째 선수 => 0~N-1번 선수라고 하자.
• D1 [i][j] / D2 [i][j]
• i: 한국팀의 남은 선수들의 bitmask 표현
• j: 상대팀의 남은 선수들의 bitmask 표현
• Bitmask 표현
출제자: 조승현
101011100번째 선수가남아 있다
1번째 선수가없다
= 1 + 4 + 16 + 32 + 64 = 117
G. I.O.I
• D1 [i][j]: 한국팀이 선택할 차례일 때 한국이 승리하는 횟수의 기대값
• D2 [i][j]: 상대팀이 선택할 차례일 때 한국이 승리하는 횟수의 기대값
• D1 [i][j] = max(D2 [i – (1 << k)][j – (1 << l)] + pk,l)
• D2 [i][j] = min(D1 [i – (1<< k)][j – (1 << l)]+ pk,l)
• 답: D1[2n-1][2n-1], D2 [2n-1][2n-1]
출제자: 조승현
B. 진격의 거인
• 먼저, 삼각함수를 사용해 파괴된 영역 내부의 집들을 찾아낸 후 제외
• 두 집 사이의 거리
1. 두 집을 잇는 선분이 거인이 파괴한 영역을 지나지 않는 경우2. 두 집을 잇는 선분이 거인이 파괴한 영역을 지나는 경우
출제자: 조승현
B
A
경우 1
B
A
경우 2
B. 진격의 거인
• 𝐴𝐵가 𝑂𝑃혹은 𝑂𝑄와 교차하는 경우
• 𝑐𝑐𝑤 𝑂, 𝑃, 𝐴 × 𝑐𝑐𝑤 𝑂, 𝑃, 𝐵 < 0 &&
𝑐𝑐𝑤 𝑂,𝑄, 𝐴 × 𝑐𝑐𝑤 𝑂,𝑄, 𝐵 < 0
출제자: 조승현
B
A
O
P
Q
• 두 집을 잇는 선분이 파괴된 영역을 지나는 경우?