PS 저장소
SUAPC 2023 Winter 후기 본문
여기에서 말하는 시간 개념은 대회 시작 후 경과한 시간으로 나타내었다.
K. 시계 맞추기
https://www.acmicpc.net/problem/27532
27532번: 시계 맞추기
첫째 줄에 일지에 적힌 시간의 개수
www.acmicpc.net
체감 난이도: Silver ~ Gold
알고리즘 분류: 브루트포스
처음에 팀원 3명
우선 입력 시간
입력된
로 표현할 수 있다. 앞서 말했듯이 환산된 분은 최대 719분까지만 가능하므로 모든 값들을 modulo 720 한다.
그리고
시간복잡도는
로 1초 안에 해결 가능하다.
52분에 퍼솔하였다.
L. 따로 걸어가기
https://www.acmicpc.net/problem/27533
27533번: 따로 걸어가기
첫째 줄에 정수
www.acmicpc.net
체감 난이도: Diamond
알고리즘 분류: 정수론, 집합론
이 문제를 처음부터 잡고 계속 안 풀려서 중간중간 팀원들 반례도 찾아주고 다른 문제도 찔러보다가 120분 경에 다시 맘 잡고 본격적으로 풀기 시작하였다. 처음에는 두 토끼가 이동할 수 있는 모든 경우의 수
이전에 풀었던 문제 중에 이 문제와 비슷한 문제를 Catalan number를 활용하여 푼 적이 있었는데, 이 문제를 뒤크 문자열로 변형하여 계산해보려 했으나, 뒤크 문자열 개수를 세기 위해서는 짝수여야 하는데
결국 선택한 것은 정수론을 활용한 수열의 일반항을 찾는 것인데, 대회에서 사용하기에는 매우 비효율적인 방법이었다. 하지만 운이 좋게도 예상보다 금방 구해져서 다행이었다고 생각한다.
우선 경우의 수를
이를 초항으로 잡고 나머지 수열들의 관계를 정리하여 일반항을 도출 보았더니
로 나타낼 수 있었다.
시간복잡도는 분자와 분모를 modulo
로 1초 안에 해결 가능하다.
225분에 AC.
이후 대회 풀이를 보니 조합론으로 푸는 것을 목표로 출제하셨다고 하셔서 수열을 정리해 보니
로 표현할 수 있었다.
이는 조합론에서 사용되는 Narayana number 형태이다.
후기
나머지 문제도 몇 문제 더 풀어 5 Solve하였지만, 몇개 문제에서 특정 반례의 벽을 넘지 못하고 6 Solve의 벽을 넘지 못하고 11등으로 대회를 마무리 하였다.
10등까지 수상하여 수상권 밖이지만 특별상
작년 9월에는 10등을 하여 수상을 하였는데 이번 대회는 눈앞에서 수상권을 놓쳐 많이 아쉬웠고, 다른 대회들을 앞서 중상급 수준 이상 알고리즘 공부를 좀 더 해야할 듯 하다.