계획과 후기

2023 ICPC Sinchon Winter Algorithm Camp 후기

yunny_world 2023. 2. 19. 04:16

https://icpc-sinchon.io/

Main | ICPC Sinchon

신촌지역 대학교 프로그래밍 동아리 연합

icpc-sinchon.io

0.

오늘 치룬 캠프 콘테스트 결과에 만족스럽지 않아서 게임하다가 문제 좀 풀려하는데, 귀찮아져서 후기글을 써볼까한다.
개인적으로 대회 결과에 미련이 많이 남는 것 같다...

1. 강의

개인적으로 친해지고 싶었던 학교 선배들이 중급 강의를 하신다길래 사실 안듣을려 했다가 듣게 되었다. 초급, 중급 강의를 모두 들었던 작년 여름과는 달리 이번에는 중급 강의만 들었었다.
저번에는 없었던 게임이론, 기하와 같은 강의들이 진행되어서 새로운 알고리즘도 많이 배웠다고 생각한다.
사실 강의만 듣고, 주어진 문제들을 모두 푼다고 해서 그 알고리즘을 자유자재로 쓸 수 있는 건 아닌것 같다.
이 강의들의 의의는 막연하던 중급 알고리즘에 대한 장벽을 허물어 주는데에 있는 것 같다.
거의 70%의 내용이 저번 여름 캠프 때 했던 내용과 동일함에도 이번 강의들을 대부분 듣고, 문제도 적당히 푼 나로선 뭔가 그 문제에 대한 적응도가 올라간 것 같았다고 느꼈다.
작년 ICPC 준비하면서 팀연습 할 때, 어려운 문제들을 만나면서 어? 이거 머지소트 트리인데? 이거 2-SAT인데?를 할 수 있도록 도와준 것이 저번 캠프인 것 같고, 이번 캠프를 통해서 어? 이거 그건데 하고 풀이도 어느정도 생각할 수 있게 된 것 같다. 물론 플레티넘은 어렵다.

2. 멘토

어쩌다 보니 멘토를 하게 되었다. 작년 여름에 같이 중급을 들으면서 멘토를 하셨던 dong_gas 생각이 나서 신청하기도 했던 것 같다.
개인적으로 강의 초반부에는 일정 상으로 여유롭기도 했고 내용들도 그렇게 버겁진 않아서 그냥 별 생각없이 강의 자료 준비되면 부담없이 읽고 검토하곤 했었던 것 같다.
근데 후반부가 되니까 슬슬 내가 몰랐던 내용들도 나오니 검토하는게 조금은 버거워졌다고 느꼈다. 강사님들 열심히 준비하시는게 느껴져서 더 열심히 해야한다고 생각했던 것도 있다.
아니 이제보니 최우수 멘토라는게 있네요. 나도 최우수 멘토하고 싶다.

3. Camp Contest

당연히 중급 캠프 콘테스트에 참여를 했다.
글을 쓰는 지금은 문제를 볼 수 없으니 최대한 기억을 살려 써보겠다.
대략 내가 접근한 방식과 느낌 위주로 적겠다.

타임라인

난이도 순인 걸 알았으니 그냥 앞에서부터 읽었다.

[0:21] A 'RGB트리' AC

딱 문제 읽고 저번 중급 캠프 콘테스트 C번이 생각났다. 반짝반짝 3(P4)
아 그냥 Tree DP 쓰면 되겠네 하고 짰다.
역추적이 생각보다 귀찮았다.
AC받고 스코어보드 한번 봤는데, 동기인 Vermeil이 E번을 풀었어서 오 이거 머지 했다.
이때 E 쓱 훑었는데, KMP문제인건 바로 알았는데, O(N^3)풀이만 일단 생각나서 나중에 생각하기로 했다.

[1:59] D '요가 수업' 1WA, AC

딱 보고 2-SAT이네라고 생각했다.
개인적으로 2-SAT 자체를 재밌다고 생각하는 사람으로서 이걸 풀기로 마음먹었다.
B, C는 읽어보고 B는 잘 모르겠고, C도 인터렉티브니 괜히 패널티 쌓지 말고 딴거 풀자는 생각이였다.
사실 문제를 읽으면 바로 상황이 이해되지는 않았던 것 같다. 그래서 예제에 대해서 질문하기도 했는데, 칼같이 아니라고 해서 오히려 문제 이해하려고 더 신경썼던거 같다.
무조건 수업 x가 수업 목록에 들어있는 경우를 not x → x의 간선으로 처리하는 생각을 떠올리니 쉽게 풀렸다.
사실 쉽게 풀리진 않았고, 구현할 때, true x와 false x를 제대로 구현 안해놔서 이거 찾는데 시간 쫌 쓴 것 같다.
이거 다 풀고 스코어보드 한번 더 쓱 봤는데, 다들 E번을 다 풀었길래, 아 이건 패널티가 중요하다 이 생각하고 E번 빠르고 정확하게 1번에 맞추자는 다짐을 했었다.

[2:19] E '상대음감의 노래찾기' 1MLE, AC

다시 조금 더 생각해보니, 인접한 두 수의 차이가 중요하다는 것을 발견해서 풀었다.
1000 * 100000 정도의 2차원 배열을 걍 되겠지하고 선언하고 풀어서 메모리초과 한 번 받고, C++ vector 이용해서 AC 받았다.

[2:19~4:30] C '가난한 고흐와 붓' 4WA

처음에 이상한 풀이 생각하면서 한 30분정도 날려먹고, 올바른 풀이의 방향을 찾아갔다.
문제에서 '나'가 i와 i를 잇는 것을 최대한 많이 만드는 것이 최선임을 제일 먼저 발견했다.
여기서 멈추지말고 더 생각했어야 하는데, 끝까지 호흡을 이어서 풀 지 않고 안일하게 풀이를 부정확하게 완성시킨게 큰 실패 요인이었던 것 같다.
이 실패 요인은 매번 안하자고 다짐하는 거였는데, 참 아쉽다.

[4:30~5:00] B '천국의 계단' 1WA

이러다가 프리즈이후에 아무것도 못 풀겠다는 생각이 들어서 다른거라도 풀자하고 본 문제이다.
시간 없으니 간단하게 생각해서 확장 유클리드 + a 정도의 풀이를 짰는데, 대회 스트리밍 보니 다른 풀이가 정해인 것 같다.

유니월드 화이팅

화질이 아쉽다

사소한거지만, 저번 캠프 콘테스트 때에는 2분 차이로 3등 대신 2등을 하고, 이번 캠프 콘테스트 때에는 3분 차이로 4등을 했다니 참 패널티가 나를 도와주기도 안도와주기도 하는 것 같다.

이번에 스스로 만족스러운 성적을 거두면 캠프는 더 안들을려 했는데, 내 실력보니 더 듣고 1등하고 캠콘 졸업하고 싶어졌다.

개인적으로 지금까지 나갔던 대회에서 First Solve를 단 한번도 안했었는데, 이번 대회에서 2개나 해서 그건 쫌 뿌듯하다.
D '요가 수업'을 제일 먼저 풀어서 요가 매트를 받고, 4등 겨우해서 컴퓨터 공학 서적을 받는다면, 사실 내가 승자 아닐까?
는 전혀 아닌거 같다.
백엔드 개발에 관심을 가져볼까하는데, 그런거 관련된 서적이면 개인적으로 좋을 것 같다.. 과연 뭐가 올까?
저번에 캠콘에서 알고리즘 책 한권이랑 SUAPC에서 코틀린 책 줬었는데, 둘 다 새 책으로 남아있는 것 생각하면 음 모르겠다.

최근에 코드포스 블루에 너무너무너무너무 가고 싶은데 못가서 자신감이 많이 없어진 상태였고,
솔브닥 다이아 찍고 먼가 더 어려운 문제 풀기가 귀찮아지고, 시간 효율 없는 것 같고, 골드도 잘 못푸는데 이거 푸는게 맞나라는 생각도 들고, 어쨋든 이런저런 생각들이 들어서 백준 많이 안풀었는데, 이 대회 치고 나서 더 자신감이 떨어져 버렸다. 아 난 PS 언제쯤 접게 될까 이런 생각도 들었던 하루였던 거 같다.

일단 PS라도 안하면 난 하는 게 없는 것 같기 때문에 다시 기운 차리고 코드포스 C, D번이나 풀러 가자.

2달 동안 열심히 수업 준비해주신 강사님들, 좋은 환경 만들어준 ICPC Sinchon 운영진분들, 옆에서 같이 문제 풀어주신 서강대 동기, 선배님들 모두 감사합니다.
다음에는 더 성장한 유니월드로 돌아오겠습니다.

'계획과 후기' 카테고리의 다른 글

참여한 프로그래밍 대회 정리하기  (4) 2023.06.22
Expert!  (12) 2023.03.12
[BOJ] 1111 Solve!  (1) 2022.12.23
2022 ICPC Sinchon Summer Algorithm Camp 후기  (5) 2022.09.10
2022년 여름방학 후기  (0) 2022.08.27