Competitive Programming/Annual Competitions

대회후기: SNUPC 2020 (Div. 2)

Syphon 2020. 9. 17. 23:08

대학을 와서 치는 두번째 SNUPC다.

작년, 나의 레이팅 상승 추이를 보며, 2020년에는 SNUPC의 Division 1에 출전할 수 있으리라 생각했던 것이 기억난다.

안타깝게도 1년 사이에 큰 폭의 실력 상승은 없었고, Division 1에 출전할 용기 또한 없었다 ㅋㅋ

 

요즘 들어 CP에 조금 소홀해진 듯한 느낌이 드는데, 이런 와중에 치른 대화라 그런지 작년의 열심은 없었던 것 같다.

코로나의 여파로 인해 집에서 치뤄서 그런가..?

이제 시작한 2학기에는 작년처럼 조금 더 열심히 실력을 업그레이드할 수 있으면 좋겠다.

암튼 대회 스타트..!


A: 수면 패턴

구현 문제다. 파이썬으로 퍼솔 달성!!

B: 단어 개수 세기

역시 구현 문제다. 파이썬으로 퍼솔 달성!!

C: 넴모넴모 2020

이진탐색 기본 문제이다. 거의 구현 문제 수준인데, 구현 실수로 인해 디버깅을 잠시 하느라 퍼솔을 뺐겼다.

D: 신기한 연산

쿼리를 어떻게 처리해야 할지 고민하던 와중, 쿼리와 상관 없는 해답이 있을 수도 있겠다는 느낌이 왔다.

이런 느낌을 받게 된 결정적인 이유는, 들어올 수 있는 쿼리에서 구간의 크기가 홀수밖에 되지 않기 때문이다.

아래 연습지를 보면 좌측에 aabbcc와 같이 문자가 두개씩 반복되는 배열이 문제의 조건을 만족하는지 확인해본 흔적이 있다. 모든 홀수 구간에서 문제의 조건을 만족시키는 방법을 고민하자마자 제일 먼저 떠오른 풀이였는데, 맞아떨어졌다.

 

이것도 퍼솔이다 ㅎㅎ

여기까지가 대회 시작 후 40분 지점이다.

E: 여우 신탁

각 숫자가 나오는 빈도를 1로 저장해두고, 나머지를 구할 때마다 숫자의 빈도를 업데이트해주면 된다. TLE가 날 것 같지만, 숫자의 범위가 $10^6$으로 작고, 업데이트의 횟수는 최대 $O(N)$이므로 그냥 풀린다...

 

하지만 무려 한시간동안이나 이 풀이가 통과 가능한 풀이인지 모르고 있었고, Div. 2에서 네 문제밖에 풀지 못한 사실에 화가 나서 그냥 3퍼솔로 어그로를 끈 것에 만족하고 침대에 누워버렸다.


총평

E를 해결하지 못한 점은 아쉽지만, 그래도 13등의 위치에서 마무리했다.

작년보다 높은 등수를 기대했지만 결국 정확히 같은 등수이다... ㅠ

 

대회 실적과는 별개로, 난 항상 특별상을 받는 재능이 있는 것 같다 ㅎ

작년과 올해의 UCPC와 SNUPC에서 총 4번, 모두 특별상을 받았다.

지난 3번의 특별상의 경우, multilingual solve 혹은 제일 빠른 Python solve 등으로, 전부 다 Python과 관련된 항목들이었다.

 

그래서 오늘 대회에서 ABD를 퍼솔했을 때, 설마 또 Python으로 무슨 상을 받나 싶은 두려움(?)이 있었다.

놀랍게도 또 상을 받았지만, 다행히 이번에는 Python 관련이 아니었다고 한다 ㅋㅋㅋㅋㅋㅋ

A: 수면 패턴을 퍼솔한 특별상으로, '몰랑이 모찌 바디필로우'를 받았다...

 

아래는 4솔 직후 스코어보드 1등을 달리고 있는 시점에서의 기념 스크린샷이다... ㅎ

연습지