13 min read

2025 UCPC 후기

2025 UCPC의 예선/본선 후기글입니다.

2025 UCPC 후기

지난 07월 26일, UCPC 2025 본선에 참여하고 왔습니다.

예선 후기까지 더불어서 기록해둡니다.

예선 전

사실 올해 UCPC를 참가할 원대한 계획같은게 있지는 않았고, 작년

2024 후반기 회고
올해의 회고를 준비하면서, 지난 몇년간의 회고를 다시 읽어보는 기회를 가졌습니다.회고를 그래도 꽤나 꾸준히 써온 편이라고 생각하는데, 되짚어보면 매번 회고가 나열법으로 작성되어있는것 같다는 생각이 들었습니다. 2024년 1년은 환경과 심경 모두 꽤나 격변한 년도였기 때문에 회고에서 조금 더 잡다한 이야기를 해봐도 괜찮겠다는 생각이 들었습니다. 개발 올해는 의외로 예년과 다르게 컴퓨터 공학

이후로 CP보다는 이것저것 만들고싶은거 개발하고 휴학한김에 열심히 놀고 살았습니다. 이에 대한 이야기는 연단위로 작성하기로 마음먹게 된 2025년 회고글을 쓰게 되면 정리할 수 있을거같고,

saywoo가 올해 UCPC 참가를 위해서 타진해왔을때에

별 계획은 없지만 자리가 남아서 곤란하다면 참가하겠다.

라 답변하였는데,
정확히 똑같은 답변을 한 kevinlys00과 함께

이럴거면 그냥 셋이서 참가하면되는거아님??

이라는 논리로 참가하게 되었습니다.

최근 마이마이를 꽤나 열심히 했고 (프리즘 0.4쓰정도 했습니다), saywoo, kevinlys00, chan120714, locket2017등과 엄청난 빈도로 마이마이를 해왔기 때문에 팀명을 적당히

한성대우리게임장2마이마이채보연구단 으로 지었습니다.

saywoo가 휴학하면서 자취방을 빼고 본가로 이동했었기 때문에, 셋 모두 모여 오프라인 팀연습을 할 기회가 없었으며,

Blobnom
Blobnom에서 알고리즘 문제를 해결하고 친구들이나 전국의 유저들과 경쟁해보세요!

에서 랜디 적당히 하기 정도의 연습을 했습니다.

국민대 25학번으로 구성된 웅히히일루와잇끼뺫엄벌기삣삐삣삐눈치쮸글뜌땨잘자콘달아줘얼탱 팀과 같이 골플랜디 하면서 반년가까이 안잡았던 CP를 잡는 시간을 좀 가졌습니다. 파란색이 저희 팀입니다.

사실 saywoo도 저도 구현을 잘하는 타입이고, 둘은 이미 icpc 2023, 2024에 거쳐 충분히 합을 맞춰보았었기 때문에 kevinlys00 과의 합을 잘 맞추는게 좀 중요했던것 같습니다.

역대급으로 급조된 팀과 역대급으로 준비안함의 콜라보가 합쳐졌고, 예선의 온라인검색 허용이라는 특수성덕분에 팀노트조차도 적당히 완성하고 예선에 임하게 되었습니다.

예선

52등으로 본선컷에 맞추어 진출하게 되었습니다

페널티 및 푼 문제는 위와 같습니다.
저는 A와 I를 풀었습니다.

I번을 구현할때 union_find를 pair<int,int>로 구현했던거 같은데, 뭔가 시간이 빡빡한지 페널티가 쌓였습니다. 추후 long long으로 선회해서 AC받았습니다.

전반적으로 경시대회 치고는 다들 왁자지껄 깔깔웃으면서 문제를 풀었는데, zoom감독하시던 분들 입장에서는

이사람들 단체로 미친건가

같은 생각이 들었을수도 있겠구나 싶습니다.

kevinlys00이 H번을 책임지고 잡고, 또 풀어준 덕분에 저와 saywoo 는 G번에 대한 아이디어 토론을 계속 거쳤는데, dp + prefix sum 풀이를 어느정도 떠올렸음에도 불구하고 시간 부족으로 구현하지 못했음이 아쉬울 따름입니다.

사실 페널티 관리가 잘된편이지만 6솔이라 아쉽지만 잘했다 정도의 논의를 하고 대회를 마쳤는데, 6솔에서 커트라인이 갈리게 된 덕분에 본선에 진출할 수 있었습니다.

본선 전

kevinlys00과의 합을 맞추고자 고려대학교로 이동해서 2인 팀연습을 조금 진행했습니다. 비슷한 정도의 퍼포먼스를 유지했고, 매 연습마다 Platinum 4이하로는 다 풀어냈습니다.

군대에 가게된 sat0317 님 대신해서 이것저것 인수인계 받을 일이 있었는데, 그로 인하여 꽤나 바쁜 상황이었으므로 뭔가 많은 준비를 하진 못했습니다.

본선에서 사용할 용도의 팀노트를 다듬고, 제가 문자열 파트를 도맡으며
manacher나 팀노트에 없던 centroid decomposition 등을 공부해서 넣어갔습니다.

본선

인싸 회로를 풀로 가동시켜 어머목도킹을 열심히 했습니다.

커트라인에 걸쳐 본선에 진출한 팀이 본선에서 어떤 대단한 성과를 뽑는것이 현실적이지 않고, 또 본선에서 성과를 거두자 같은 거창한 목표를 걸고 UFC 수련을 해온 팀이지도 못했기 때문에 가능한 최선을 다하자 정도의 스탠스로 임했던 것 같습니다.

exzile_27이나 haru_101의 사진을 찍어주거나 했으며, dj035를 만나려 했는데 뭔가 엇갈려서 못만나게 된게 좀 아쉽습니다.

대회 끝나고는 얼떨결에 hjroh0315와 같이 밥을 먹을뻔! 했으나 음식점에 사람이 너무 많아 팀명뭐하지 팀과 따로 자리를 옮겼습니다. 악수해본게 영광이었습니다.

저희 옆자리에 2등한 나니가cki팀이 있었는데, 다들 초-웰노운인 분들이기도 했고
SWM 완장방에 있으셔서 세상이 참 좁구나 라는 생각을 했습니다.
2등 축하드립니다 changhw님 🎉

대회장 제일앞 중간 좌석에 있었어서 뭔가 괜찮은 사진이 건져졌을수도 있는데, 아마추어인 제 사진보단 낫겠구나 싶어 잠시 기다려보고 괜찮은 사진이 있으면 추가하겠습니다.

대회 자체는 E와 I를 구현했으나, E는 saywoo 가 맞췄습니다.

E가 전체 경우의 수에서 manacher에서 계산된 palindrome 만큼을 빼야겠다는 생각을 처음에 하고 구현을 잡았는데, WA를 받고 이게 왜 정답이 아니지 스러운 발상을 하던 도중 saywoo 가 이거 조합론 아님? 발상을 들고와 AC를 받았습니다.

I는 kevinlys00의 아이디어 아래에 제가 구현했는데, 몇가지 테스트케이스를 같이 고민해서 단박에 잡았습니다.

E와 I를 잡아 2솔을 한 이후 저희 팀의 고민은 A,B,C,H로 옮겨가게 되었고,
스코어보드상 C를 잡아내는게 맞겠다는 결론하에 새우가 C를 잡고 제가 남는문제를 읽어보는 형태가 되었습니다.

A는 케빈이 아이디어를 제시했으나 구현량이 과하게 많겠다는 생각에 포기했으며,
B는 당시 제가 읽어보고 힘들것같다고 제안,
H도 몇가지 관찰을 했으나 AC에 근접하려면 남은 process가 많다는 느낌이었습니다.

결국 C를 잡아야 하는 상황이었습니다.
어느정도 무작위화 스러운 발상을 진행했고 무작위화 태그 아니냐 라는 주장을 나눴지만, 프리즈 전 스코어보드에 C를 일발로 잡아낸 인원이 많은걸 보고

무작위화를 정말 이만큼의 인원이 일발로 잡아낼 수 있다고?

라는 생각에 무작위화 풀이를 보류, 어떻게든 깎아보겠다는 발상으로 linear_sieve같은 알고리즘을 들고오거나 N이 작은 임의의 경우에 brute-forcing하는 등의 깎기를 시작했습니다.

C번에 2시간 넘게 투자, 대회가 끝나기 10분? 쯤 전에 무작위화가 아닌 정해풀이에 도달했으나 이 풀이를 구현하기에는 시간이 부족, 결국 2솔로 끝내게 되었습니다.

대회가 끝난 직후에는 처참하게 대실패했다 같은 느낌이었으나, 추후 프리즈 이후 스코어보드의 페널티멸망전을 보거나

레이팅 매겨진걸 보고

애초에 플래하위권이 존재하지 않았다는 점에서 그럴?수도있?나 같은 생각을 했습니다.

대회 후

C의 출제자인 young_out과 "즐거운 대화" 를 나눴습니다(웃음)

국민대 팀인 팀명뭐하지 팀과 밥을 먹었는데, jthis앞에서 소주까고 입을 놀린게 후기글을 쓰며 새삼 부끄러워졌습니다. 과거의 경솔한 나를 죽인다...

저 따위의 발언은 부디 한귀로 듣고 흘려주시길...

팀명뭐하지팀에서 유일하게 닉네임을 밝힌 초인싸개고수 amsminn님은 본선대회가 끝나자 마자 밴드공연가는 인싸모멘트를 보였고, 아쉽게 밥을 같이 못먹었습니다.

암만봐도 암스민은 환상종같은게 맞음... 그게아니고서야 오프라인에서 이렇게보기힘들수가 없음...

밥을 먹고 나서는 한성대입구역으로 이동해 팀명에 맞는 연구검토 행동을 했습니다

saywoo의 경우에는 미처 대여를 걸지 못했는데, 마침 프리즘플러스 업데이트 직후라 대여가 아닌 유일한 기체의 플포가 6을 넘었다는 무서운 소식을 들었습니다.

결국 대여걸고 셋이서 번갈아가며 밤샘을 즐기고, 케빈을 집으로 보내고,
새우가 아침 기차를 끊고 내려가서 또 할일이 있다길래 밥먹여주려고 국밥집 가서 밥먹이고 해산했습니다.

결론

CP를 되게 오랜만에 한 것 같은데, 재미있게 즐겼고 나름 finalist로서 본선에 진출할 수 있어서 좋았습니다.

스트릭을 거의 900일 넘게 유지하며 브론즈만 풀어온게 마음에 걸려서, 최근에는 되도록 골드 이상으로 스트릭을 유지하고 있는데, 매일매일 꾸준히 PS하는것이 체급상승에 꽤나 도움이 되는구나 같은 생각을 했습니다.

당면한 목표가 있는 만큼 올해 남은 기간을 CP로 불태울것같지는 않고, 애초에 휴학생이라 CP를 불태워봐야 ICPC에 출전하지도 못해서 아쉬울 따름입니다만, 현재 염두에 두고있는 일들을 얼추 정리하고 난다면 결국 CP로 회귀하지 않을까 싶습니다.

준비하는 과정은 언제나 힘들기 마련이지만,
결국 끝나고 나면 힘든 기억은 덜 남고 즐거운 기억은 오래 남기 마련입니다.

올해 UCPC의 모든 참가진, 출제진, 운영진 분들 수고하셨습니다!

여담

라이트온은 UCPC 출제진임에도 불구하고 IOI에 참여하느라 본선회장에 못왔다 하던데, 트온같은 초N고능아의 삶은 어떨까...

난 왜 고능아가아닐까 라고 생각하는 06시 47분입니다. 감사합니다.

트온님 IOI 잘 치고 오십시오. 대한민국의위상을드높여라