대학교 새내기의 2019 ACM-ICPC 후기
Post
취소

대학교 새내기의 2019 ACM-ICPC 후기

첫 ACM ICPC 후기

너무나 미숙했고 부족했다.

팀원과의 호흡을 맞추는 시간도 부족했고, team note도 제대로 준비하지 못했다.. 그리고 대회를 시작한 직후, DomJudge 서버의 과부화가 왔는데 이때 I. Registeration을 제출하는 과정에서 내가 계속 새로고침을 눌렀는데 이게 오히려 제출을 늦게 되게 만들었던 것 같다..ㅠㅠ

최종 스코어보드(in 국민대학교)

우리 팀명은 1ggondae2zzolbo 였다. 팀원끼리 회의를 하다가 1명의 선배와 2명의 새내기가 있어서 이런 팀명을 하자고 얘기가 나왔고 그대로 이름을 짓게 되었다.

최종 스코어보드를 보고 든 생각

국민대학교에서는 3학년 전공 수업인 알고리즘에서 ACMICPC 대회를 나가게 한다. 그래서 그런지 내 전공 수업 때 계시는 조교님, 잘 아는 선배들이 대회장에 되게 많이 계셨다. 그 와중에도 중간 스코어보드가 fix된 상황에서 우리 팀이 3등이었던건 선전했다고 생각했고 최종 순위가 5등인게 아쉽긴 하지만 내년엔 다를 것이다.(이제 감 잡았다.)

푼 문제 풀이,못 푼 문제의 접근 방법

푼 문제가 많지 않다..ㅠㅠ

일단 쭉 적어본다. 순서는 내 마음대로다.

I. Registeration

Dom Judge의 아이디와 비밀번호를 출력하면 된다. 제작년, 작년 ACMICPC 후기들을 읽고 미리 팀노트에 적어가서 바로 하였다.

H. Four Squares

50000까지의 제곱수는 아마 232개쯤 된다고 계산이 되었고 DP 배열에 i를 구성하는 제곱수의 최소 개수를 저장하는 방식으로 해결했다.
시간 복잡도 : O(n*(sqrt(n)))

C Byte Coin

개인적으로 이 문제가 제일 아쉬운 문제이다. Dom Judge의 상태만 좋았다면 제대로 풀 수 있었을 것 같다.

먼저, 내가 그냥 이거 브루트 포스로 다하면 되지 않냐고 했고 코드를 구현해서 제출했지만 TLE..

그래서 미적분의 극대,극소 부분 그 점일때 사고 파는 식의 구현을 했지만 일부 예외 테케를 대회가 끝나고 알게 되었다.(심지어 이 코드가 틀렸다는 것을 대회 서버의 채점이 늦어져 대회가 끝나고 알게 되었다.)

D. Cancal

뭔가 그냥 하면 풀릴 것 같은 문제였지만 이문제를 해석하고 풀이를 시작하게 된 시간이 너무 늦어서 풀기 힘들었고 어떻게 할까 생각하다가 끝났다..

B. Balanced String

이 문제는 처음에 선배가 해석을 하였고 내가 설명을 들었다. 근데 나는 보자마자 바로 DP라고 생각을 했도 너무나도 잘 들어맞았다. 바로 종이에 DP식을 쓴 뒤, 선배에게 구현을 맡기고 다른 문제를 풀기 시작했다. 살짝 선배와 생각이 달랐는지 구현이 몇개 잘못되어있는 것을 나중에 보고 일부 고친 뒤, 제출해 AC 되었다.
시간복잡도: O(n)

F. Dryer

이 문제는 처음부터 끝까지 내가 집착한 문제이다. 풀 수 있을 것 같았다. k가 1부터 3이길래 쉽다고 생각했다. 하지만 k가 3일 때, 너무나 HELLPARTY가 생기는 걸 보고 다른 문제를 푸는 것에 더 집중했다..

G. Enumeration

솔직히 너무나 간단한 문제라 생각하고 접근했지만 문제를 잘못 읽었었다. 아직도 이 문제의 정확한 의미와 풀이를 모르겠다..

E. Choreography

팀원 모두가 포기하고 넘긴 문제이다. 다들 미숙해서 이 문제의 해석부터 포기했다..(시간이 너무나 부족하다고 여겼다.)

정리

솔직히 너무나 아쉬운 대회 내용이었다. 올해 겨울은 인턴을 하러 회사를 가지 말아야겠다는 생각이 들었다.. 겨울에는 좀 알고리즘 공부를 더 빡세게 하고 와야 본선을 가볼 수 있지 않을까..ㅜㅜ

아, 만약 이 글을 국민대학교 분이 읽는다면 이거 하나 알려드립니다. 팀원 구합니다^^.(팀원이었던 선배가 대학원에 가십니다..)

This post is licensed under CC BY 4.0 by the author.