서론
* UCPC 2026에 octane, ComPhyPark과 팀을 이루어 참가했습니다.
* 팀명은 [군인 군인 대학원생]이었습니다.
* 예선 후기는 octane의 블로그에서 확인할 수 있습니다.
https://octane-kr.github.io/posts/ucpc-2026-preliminary/
UCPC 2026 예선 후기 - 코끼리 뿌우
올해 UCPC는 gs20036, ComPhyPark과 함께 출전했다. 지난 3년간은 내가 빡겜 팀을 구할 만큼 실력이 뛰어나지도 않고, UCPC는 약간 친한 친구들이랑 놀러 나가는 대회라고 생각을 했어서 높은 등수를 받
octane-kr.github.io
* 예선 12등으로 본선에 진출하는 데는 성공했으나, 본선 등록, 즉 1.5차예선에서 탈락했습니다.
* 따라서, 본선에는 참가자가 아닌 스태프로 참?가하게 되었습니다.
* octane은 집에서 쉬었음 대학원생이 되었고, ComPhyPark은 대전을 오기는 했지만 non-PS러 친구들과 놀았습니다.
본선 스태프
* Jane Street 부스에서 스탬프를 찍어주는 역할과 대회장에서 풍선을 배달하는 역할을 배정받았습니다.
* Jane Street 부스에 queued_q님께서 찾아오셔서 퍼즐을 몇 개 빌려 주셨습니다. 직원분들, 다른 지인들과 재밌게 풀었습니다.
* 대회가 시작하고 풍선 배달을 qwerasdfzxcl, cubic님과 함께 했습니다.
* 생각보다 풍선을 많이 배달해야 했었고, 나중에는 온 몸에서 땀이 났습니다.
* jhnah917님 등 다른 스태프분들도 여유가 날 때마다 풍선 운반을 도와주셨습니다. 감사합니다.
* 대회가 끝나고 나서는 대회장 정리를 했습니다.
* non-PS러 친구들과 놀던 ComPhyPark이 컨텐츠 고갈을 호소하며 대회장 정리를 돕겠다고 나섰습니다.
* 암튼, 대회장 정리는 크게 쓰레기 청소와 짐 정리로 나뉘었습니다.
* 쓰레기 청소보다는 짐 정리, 즉 남아 있는 대량의 간식을 대강당으로 옮기는 일이 가장 힘들었습니다.
* 박스 약 10개를 포장했고 annieho님 등 다른 스태프 분들의 도움을 받아 1층으로 옮겼습니다.
* 그 다음에 fefe님의 자차를 이용해서 johnny8337과 대강당으로 박스들을 옮겼다고 들었습니다.
* 대회 스태프는 확실히 참가자만큼, 또는 그 이상 힘든 일이라고 느꼈습니다.
* 대회장 정리라는 일이 생각보다 로드가 많이 걸렸고, 풍선 배달도 여간 쉬운 일이 아니었습니다.
* 무엇보다도, 대회만 치고 가는 참가자와 달리 세팅과 뒷정리를 해야 된다는 점이 매우 피곤했습니다.
* 오프라인 대회를 운영한다는 게 당연하지 않다는 것을 체감했고, 항상 스태프들에게 감사하면서 대회를 쳐야겠습니다.
본선 뒷풀이
* 국룰 장소인 런방에 모여서 뒷풀이를 했습니다.
* 11시 35분에 마침 코포 딥2가 있어서 참가했습니다.
* 4솔을 했고, 퍼포 2250 정도를 받았습니다.
* 이후에는 3개 정도로 팟이 나뉘어져서 마이티 / 노가리 / 테트리스를 했습니다.
* 저는 mon_de2738 등과 테트리스를 했습니다. 사람들이 제 플레이를 보고 신기해했습니다.
* 2시쯤 돼서 사람들이 들어가기 시작했고, 저는 따로 기숙사 신청을 하지 않아 동방에서 3시쯤 잤습니다.
본선 Open Contest Virtual Participation
* 본선 다음날인 13일 08시부터 본선의 ^비공식참가^를 하기로 약속했었습니다.
* 저와 ComPhyPark은 피곤하고 배고픈 상태였으며, octane은 반쯤 자고 있는 상태였습니다.
* 결론부터 말하자면, 9+1572=#9로, 4등상에 해당하는 성적을 받았습니다.
초반 (0:00 ~ 1:00)
* 제가 ABCD, octane이 EFGH, ComPhyPark이 나머지를 잡았습니다.
* 저는 A를 보고 던졌습니다.
* octane은 E와 F를 던진 뒤 G의 풀이를 냈다 주장했습니다.
* 이 이후로 octane은 머신이 빌 때마다 G를 (구현/디버깅)했습니다.
* 0:20 쯤에 ComPhyPark이 L의 풀이를 냈고, 짜서 0:28에 맞았습니다.
* 저는 B의 풀이를 냈고, 사소한 구현찐빠로 2틀을 한 후에 0:54에 맞았습니다.
* 결국 "11 싫어 수"가 되려면, ababab...꼴이며 a + b = 9를 만족해야 합니다. 증명은 생략하겠습니다.
* 각 a값에 대해 11 싫어 수가 될 수 있는 자릿수의 경우의 수는 22k + 12와 22k + 2m + 1꼴이 있습니다.
* 위 m들을 모두 구해 주면 나머지는 자명합니다.
* 체감 난이도: P5~P4
초중반 (1:00 ~ 2:00)
* ComPhyPark이 M을 짜서 맞았습니다. (1:01)
* 제가 C의 풀이를 냈고, 1틀 후 1:13에 맞았습니다.
* 영어 대문자를 열린 괄호, 숫자를 닫힌 괄호로 생각하면 무조건 올바른 괄호 문자열을 만족해야 합니다.
* 대응되는 (영어, 숫자) 쌍에 대해서 몇 번의 1번 연산을 수행해야 C4가 되는지 전처리 해 줍시다.
* 그러면 각 쌍에 대해서 그 쌍을 지우기 위해 몇 번의 1번 연산을 수행해야 하는지 구할 수 있습니다.
* 그들의 최댓값을 구해주면 GG
* 체감 난이도: G2~G1
* 곧바로 D의 풀이를 냈고, 1:25에 맞았습니다.
* 부모 정점 p에서 자식 정점 c로 이동할 때, (c를 루트로 하는 서브트리에 없는 p의 자손의 개수)/2 만큼 기다려야 하는 것이 기댓값입니다.
* 이걸 가지고 DFS를 돌리면 GG
* 체감 난이도: G3
* 개인적으로, B >> C > D였습니다.
* 한편, ComPhyPark은 N번의 풀이를 냈고 1:39에 맞았습니다.
* octane은 G번의 우선순위가 계속 밀려 간간히 다른 문제들을 보고 있었으나, 유의미한 성과는 없었습니다.
* 다른 팀들과 비교하자면, 1등을 한 Just use CRT가 59분에 6솔을 했고, 2등을 한 oldtrend가 103분에 6솔을 했습니다.
* 본 대회 스코어보드와 비교하면 5등 안쪽이었을 겁니다.
중후반 (2:00~3:30)
* 저와 ComPhyPark이 K를 보고 octane이 G에 제출을 시작했지만 RTE를 받았습니다.
* 제가 K에 유의미한 기여를 하지 못한 채로 ComPhyPark이 구현을 시작했고, 저는 J, I, H등을 보고 있었습니다.
* 그나마 H, I가 풀 만하다고 생각했고 최종적으로 H를 잡았습니다.
* ComPhyPark은 2:51에 8틀 이후 K의 AC를 받았고, 저와 짧게 H 풀이를 의논한 후 octane에게 대민지원을 나갔습니다.
* 저는 H의 관찰 몇 개만을 떠올리는 성과를 얻었습니다.
* 관찰 1: K_i = 1인 것, K_i = 2인 것, K_i = 3인 것 순으로 배치하는 것이 최적이다.
* 관찰 2: K_i = 1인 것은 없다고 생각하고 봐도 무방하다.
* 관찰 3: K_i = 2인 것들 중 같은 것들을 좋아하는 판다들끼리 붙여놓는 것이 최적이다.
* 모두 증명은 하지 않은 찍맞이었습니다.
후반 (3:30~5:00)
* 대민지원을 나간 ComPhyPark의 어시를 받고 octane이 7틀 후에 G의 AC를 받았습니다.
* 곧바로 제가 "a의 개수 >= ab의 개수 + ac의 개수"등 3개 중 하나를 만족하면 가능, 아니면 불가라는 주장을 해서 짰지만 틀렸습니다.
* ComPhyPark의 주장은 관찰 3에서 만들어진 3개의 "뭉탱이"들을 permutation으로 배치하는 것을 모두 고려하자는 것이었지만, 제가 계속 보류했습니다.
* 4:00이 되어서야 저 방법보다 더 나은 방법을 제시할 수 없다는 것을 받아들이고 제가 구현을 시작했습니다.
* octane과 ComPhyPark은 F번으로 이동했지만, 큰 성과를 내지 못했습니다.
* 4:31에 제가 RTE on TC 30을 포함한 7틀 이후 H를 맞았습니다.
* 체감 난이도: P2+ (Lucky Draw)
* 이후에는 풀이 큐가 비어있음 + 이미 풀 건 다 풀었다는 마인드로 모두의 동의하에 GG쳤습니다.
결론
* 풀 문제를 다 풀었는가? 라는 주장에 대해서는 사실 반론의 여지가 있습니다.
* J는 출제진 기준 난이도가 P1이었지만, 문자열 알고리즘을 필요로 할 것 같이 생겨서 octane에게 던져야만 했습니다.
* 하지만 octane이 G를 푼 시각이 3:30이었고, 이후 F를 잡기로 결정했어서 유기된 문제가 되었습니다.
* I를 너무 짧게 본 것도 마음에 걸립니다.
* 사실 모두의 컨디션이 정상 범위가 아니었던 것이 가장 컸습니다.
* 저는 푸시도 (특히 B가) 느렸고 WA도 많이 받았습니다.
* ComPhyPark도 K에서 많이 절었던 느낌입니다.
* octane은 가수면 상태로 5시간을 보낸 모양입니다. 활성 시간은 절반 정도로 추정됩니다.
* 이로 인해서 페널티가 너무 많이 쌓였고, 9솔 중에서 압도적으로 꼴찌를 했습니다.
* 만약 모두의 컨디션이 정상이었고 스코어보드가 공개 상태였다면, G를 못 풀거나 풀고 F 또는 J를 풀어서 10솔을 하는 그림이 그려집니다.
* 9솔과 10솔은 4등상과 3등상, 9등과 5등의 차이이기에 아쉽긴 합니다만, 1.5차예선탈락의 대가로 받아들여야겠습니다.
* 개개인의 역량으로 보자면, 여전히 ComPhyPark은 플래상위를 제가 플래하위를 미는 속도로 미는 퍼포먼스를 보여줬습니다.
* 결론적으로, ComPhyPark은 신입니다.
* 저도 H를 막타치는 등 나름 1인분은 했다고 생각합니다.
* octane도 비교적 급하게 잡힌 팀연습에 컨디션 난조임에도 불구하고 G를 풀어습니다. octane이 1솔을 했지만, octane이 아니었다면 G를 풀 사람이 아무도 없었음에 주목해야 합니다.
* 이후 세미나가 있었지만, 귀찮아서집에서 가족들과 함께할 시간을 위해 불참했습니다.
* 결국 버추얼에서 모두가 할 건 다 했고, 좋은 행운이 겹쳐서 9등이라는 성과를 얻었습니다.
* 작년 8등에 이어서 다시 한 번 플루크가 터진 것 같습니다.
* 다사다난했지만 버추얼까지 같이 따라와 준 팀원들에게 너무 감사합니다.
* 아마 7월 결산으로 돌아오겠습니다. 감사합니다.
'PS > 대회 후기' 카테고리의 다른 글
| UCPC 2025 본선 후기 (5) | 2025.07.28 |
|---|---|
| MITIT 후기 (0) | 2025.01.25 |