아직 실력이 많이 부족한 것 같아서 Div. 3에 참가하고 싶었지만 Div. 1과 Div. 2만 있는 라운드여서 Div. 2를 체험해보고자 신청했었다.
Dashboard - Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) - Codeforces
codeforces.com
전에 쓴 코드포스 글에서 라운드가 매일 열린다고 썼던거 같은데 아니었다. 현재 올라와 있는 라운드만 봤을 때 일주일에 1~2개 정도 열리는 것 같다.
Div. 1을 풀어봤던 영향인지 선입견이 생겨 A문제가 시뮬레이션이 아닐거라고 생각했다.
제출 횟수에 따라 감점이 되기 때문에 A문제에서 감정당하기 싫어 계속 고민하다가 다른 방법을 못찾아서 시뮬레이션을 그대로 제출했는데 통과했다. 에디토리얼에도 거의 똑같은 코드가 적혀있어서 당황스러웠다.
A를 풀고 시간을보니 50분가량이 지나있어서 당황스러웠다. A, B문제 읽어나 보고 풀 수 있으면 좋고라는 식으로 참가한거라 여유있게 풀긴했지만 지금 보니 50분이나 걸린건 충격적이다.
사실 A, B, C를 푸는 동안 이게 왜 통과되는거지 라는 생각밖에 안들었다. 분명 최적화를 더 할 수 있을것 같은데 구현 시간이 오래 걸릴것같아서 그냥 제출한것들이 다 통과했다. (사진에서도 점수밑에 수행시간이 적혀있는데 다른 사람들과 비교했을 때 많이 높았다)
D1과 D2는 같은문제인데 입력값의 범위가 D2가 더 크다. D2가 D1보다 점수가 낮다 합쳐서 2500점으로 D2는 추가점수 개념인 것 같다.
그런데 문제가 똑같기 때문에 결과에 차이는 없었겠지만 D2가 점수가 더 낮아서 더 쉬운 버전인줄 알고 D2를 먼저 풀었다... 왜 그런지 모르겠지만 Div. 1이 제일 쉬운거라고 생각했던것도 그렇고 이런 실수를 많이 하는것같다.
D2는 점화식을 메모이제이션으로 푸는 문제인데 추가적인 최적화가 필요한 문제였다. 그리고 그 최적화 식까지 노트에 정리가 끝났는데 구현을 못하고 시간이 다 돼서 라운드가 종료됐다. (에디토리얼에서 확인하니 최적화 식까지 구현햇으면 D2까지 통과 할 수 있었다)
되돌아보면 점수를 챙길 수 있는 자잘한 부분들이 많아 아쉬움이 생겼지만 그런 것들까지 다 합쳐서 내 실력이라 생각하기 때문에 첫 라운드치고는 잘했다고 만족한다.
코드포스 라운드에서는 제출을 하면 무조건 정답이 아니라 Pretests에서 통과했다는 것만 알 수 있고 나중에 추가적으로 System testing을 진행하는데 System testing에서 실패하면 그 문제는 풀지 못한게 된다. 빠르게 Pretests를 통과하고 신경도 안쓰던 A문제가 끝나고 틀릴 수 도있다.
이런 요소들까지 생각한다면 다음 라운드라고 이번 라운드보다 잘 할거라는 보장이 없다.
Carrot 확장 프로그램을 추가하면 추가적으로 알려주는 정보인데 왼쪽은 이번 라운드 점수로 예상하는 레이팅, 오른쪽은 이번 라운드로 얻은 레이팅이다.
코드포스의 시작 레이팅은 1400이고 500, 350, 250, 150, 100, 50씩 첫 여섯라운드에 나눠서 주기때문에 500은 기본적으로 주는 점수고 1400에서 19점이 오른 1419 정도로 생각하면 될 것 같다.
실력이 늘기 위해서 제일 중요한건 복기라고 생각하기 때문에 Div 2 에디토리얼이 올라오면 E, F 문제도 풀어보고 랭커들의 코드도 분석 해봐야겠다.
'알고리즘' 카테고리의 다른 글
Codeforces Round #742 복기 (0) | 2021.09.07 |
---|---|
Codeforces Round#741 (Div. 2) 복기 (0) | 2021.08.27 |
Codeforces 시작 그리고 첫 문제풀이 후기 (0) | 2021.08.21 |
13264번 나무자르기(Convex Hull Algorithm) (0) | 2021.08.20 |
재귀를 사용하지 않고 조합(Combination) 구현하기 (0) | 2021.08.18 |