2021 ICPC Regional 후기와 연습 기록

나(solarmagic)와 팀원(tlsdydaud1, dtc03012)과의 2021년 프로그래밍 대회 후기

팀 결성

2020년 2월 4일 tlsdydaud1과 dtc03012와 UCPC, ICPC팀을 하기로했다.

팀명은

  • s olarmagic
  • t lsdydaud1
  • d tc03012

에서 따와 std::accept으로 하였다.

전반기 팀 연습

디테일 후기는 팀원의 후기로 대체한다.

UCPC 2021

링크

2021 여름 대회 전국 대학생 프로그래밍 대회 동아리 연합 대학생이 참여할수 있는 대회중에선 참가 범위가 가장 넓은 대회이다.

UCPC 2021 예선

문제 링크

  • 디테일 후기
  • 2021-07-31, 3시간, 오프라인(대회는 온라인)
  • 스코어보드
    • E를 맞추지 못해서 좀 아쉬웠다. J는 센트로이드 분할 문제라서 좀 미리 공부할걸 생각을 했다.
    • 어쨌든 본선 진출은 했으나 바로 위에 같은 학교 팀이 있었다.

UCPC 2021 본선(https://www.acmicpc.net/category/detail/2743)

  • 디테일 후기
  • 2021-08-14
  • 5시간, 오프라인(대회는 온라인)
  • 스코어보드
    • 실력은 늘었는데 등수는 떨어지는걸 보고 붉은 여왕효과를 크게 느끼기도 했다. (18년 27등, 19년 27등, 20년 23등, 21년 35등)
    • 한문제 더 풀었어야 평소 등수랑 비슷했을텐데 F번이 너무 수학수학하게 생겨서 감도 못잡은게 큰 것 같다. (6솔 팀은 1팀 빼고 F를 풀었다)

후반기 팀 연습

ICPC Seoul Regional 2021

ICPC Seoul Regional 2021 예선

  • 디테일 후기
  • 2021-10-09, 3시간, 오프라인(대회는 온라인)
  • I, L번을 퍼스트 솔브 했다.
  • 그 밖에도 문제들을 계속 빠르게 맞춰서 초반에 5등 안에 계속 있었고 프리즈 때 6등이었고 프리즈때 한문제도 풀지 못해 8등으로 끝났다.
  • C번은 진짜 풀만 했는데 머리가 후반에 돌아가지 않았다.
  • 예선에서 한자릿수 등수를 받으면서 본선 성적에 대한 엄청난 기대를 하게 되었다.

ICPC Seoul Regional 2021

  • 2021-11-13, 5시간, 오프라인(대회는 온라인)
  • 12시 부터 대회 시작이고 대회 세팅(팀노트 준비, 카메라 세팅 등)을 해야해서 10시에 모이기로 했다.
  • 개인적으로는 대회 시간이 아쉬웠다. 10시에 모이려면 다들 엄청 일찍어나서 와야하는데 평소에는 1~2시에 모이자마자 대회를 했고 나는 원래 늦게 자는 패턴이었다.
  • 처음에는 개운한줄 알았는데 잠을 별로 못자고 와서 정말 대회 시작 30분전부터 눈꺼풀이 엄청 감겼다 하지만 그래도 대회를 하니 집중력 떄문에 졸리진 않았지만 피곤한게 좀 컸다.
  • 대회 셋은 정말정말 헬셋이었다. 실버 2개를 제외하면 현재(11/15) 기준으로는 전부 플레 중위권 이상의 매우 어려운 문제로만 구성되었다.
    • 골드, 플레 하위가 없는게 아쉬운게 본선 하위권 팀 얘기를 들어보면 실버 2문제 1시간 안에 풀고 4시간 동안 풀 수 있는 문제가 없었다고 한다. (2솔팀이 매우 많다.)
  • 우여 곡절이 많이 있었다. 실버 2문제는 빠르게 풀었으나 그 다음부터 상당히 고전을 했다.
  • D번 문제의 풀이는 금방 나와서 코딩도 완료 했으나, 맞왜틀 고민을 한시간 동안 했다.
    • 여기서 사실 멘탈이 터졌다.
    • 최근 나는 디버깅 연습을 하려고 최고의 반례 만들기 게임인 백준 질문/답변을 하고 있었다.
    • 진짜 맞는것 같아 보이는 코드인데 최대한 부정적으로 보면서 반례 만드는걸 하니깐 도와줘서 뿌듯하기도 하고 코드 잘못된 부분 찾는 실력이 느는것 같았다.
    • 그런데 이 코드도 정말 거기에 나오는 전형적인 패턴인 배열 음수 인덱스 참조 문제였다.
    • 그러나 그 때 나의 컨디션이 안좋아서 그걸 캐치를 못했다.
    • 또한 사실 집에서 디버깅 연습할때는 -fsanizite 옵션을 켜놔서 컴파일러가 음수 인덱스 접근하면 바로 잡아줘서 편했다.
    • 스노우볼이 구른게 대회 컴퓨터에 미리 체크를 안해서 대회 당일날 그 옵션을 넣으려고 했다가 gcc가 아니라 minGW라서 안되었다. “그래서 뭐 별상관없지 했다”가 호되게 당했다.
    • 약간 이런 여러가지 사정이 겹쳐서 좀 자책감 들면서 다른 문제가 잘 안보였다
  • L번은 dtc03012님이 혼자서 고민하면서 알아서 푸셨다.
  • E번은 해석이 조금 어려웠는데 어쩄든 a+b=c 개수 구하라는건 금방 파악할수 있었다.
    • 디테일한 개수세기만 이제 잘 구현하면 되는데 적당히 식 나오는게 보였고 혼자서 하는거였으면 뭔가 계속하면서 공식 만들 수 있을것 같긴했는데 tlsdyadu1이 더 잘할것 같아서 그냥 뭔가 놓게 되었다.
    • 어떻게 풀긴 했지만 상당히 느리게 풀긴했다. 도와줬어야했는데 그걸 못했다. 그냥 내가 혼자 푼다고 얘기해도 풀 수 있을것같았는데 자신이 없었다
  • G번은 트리 dp 문제인데 이것도 구현에 좀 미스가 있었고(사실 풀이자체가 좀 잘못되었다) 결국 이 문제도 tlsdydaud1이 E를 끝낸다음에 빠르게 풀었다. 이 문제부터 먼저 잡았다면~ 스노우볼도 굴렀다.
  • 이렇게 5솔을 했고 F, K가 아쉬운 문제였다.
  • K번은 내가 먼저 해석을 했는데 진짜 너무 어려워서 그냥 조용히 있었다. 근데 또 스노우볼이 구른게 사실 이 문제는 dtc03012님이 알고 있는 문제였다.
    • 파인애플 피자라고 비슷한 문제를 풀었다고 풀줄 안다고 한다.
    • 위 사진에서 보다시피 3달전에 이 문제를 풀었고 대회 이틀전(11/11)에 다시 한번 풀었는데 정말 우연히 똑같은 문제가 나온거였다!!
    • dtc03012님이 G번을 열심히 고민하고 있었기 때문에 내가 K번 읽고 좀 고민해봤는데 매우 어려운걸로 결론나서 그냥 조용히 있었다. (괜히 집중 방해 될까봐)
    • K번을 그러다 늦게 잡아서 코딩을 시작했고 kmp + 세그먼트 트리풀이를 짜는데 약간의 디테일 이슈로 뭔가 값이 제대로 나오지 않았다.
    • 대회 끝나고 5시 10분에서야 모든 예제가 제대로 나왔다.
    • 여기서 이제 많은 ‘라면’을 끓일수 있었다.
      • D번을 빨리 디버깅 했더라면
      • 컴퓨터 컴파일러 옵션을 빨리 설정했더라면
      • G번을 tlsdydaud1이 잡았더라면
      • K번 해석을 그냥 넌지시 던졌더라면
      • K번 풀 시간을 좀 더 줬더라면
      • K번 오래 걸리고 다이아 문제였는데 그냥 차라리 F번 잡었더라면
      • 다른 팀원은 딴거 풀고 내가 E번을 내가 잡았더라면
  • F번은 초반에 별로 안 풀렸는데 생각보다 쉬운 문제였다
    • 그냥 적당히 하면 될것같은 풀이가 나오긴 했는데 다른 팀들이 푼 풀이랑 달라서 실제로 되었을지는 살짝 의문이다.
    • 확실한건 그렇게 어렵진 않았고 시간 관리같은걸 잘했으면 풀만한 문제였는데 D, E, G, K 코딩을 하느라 컴퓨터가 쉬질 않았고 F를 풀시간은 존재하지 않았다.

ICPC Seoul Regional 2021 결과 및 후기

  • 결론적으로는 6솔 22등을 하게되었다.
  • 예선때 8등을 하면서 WF도 노려볼만했다는 생각과는 다르게 본선에서는 정말 아쉬운 성적이 나왔다.
  • 결론적으로는 UCPC와 ICPC 모두 학교 1등을 하는 것도 수상을 하는 것도 실패했다.
  • 대회가 끝났을때는 기분이 많이 안좋았고 사실 지금도 좋지는 않지만 큰 그림으로는 나쁘지 않다 생각한다.
  • ICPC만 보면 아쉽지만 20번 가까이 팀원들과 모이면서 연습을 하는 과정이나 문제를 풀면서 나의 실력 상승 같은건 많이 도움되었다고 생각한다.
  • 1등을 한 서울대 FSM, 2등을 카이스트 Do Solve, 8등을 한 숭실대 LongestPathToWF팀에게 박수를 보낸다. 정말 대한민국을 대표할만한 엄청난 사람들이고 WF가 어떻게 될지는 모르겠지만 WF deserve한 팀이다.
  • 입학하고 나서 PS를 시작하면서 찾아보니깐 서,카,연,고,서,성 그리고 이대까지 WF를 갔는데 한양대는 한번도 WF를 간적이 없다는걸 알게 되었다.
  • 학벌주의를 좋아하지는 않지만 일반적으로 많이 쓰이는 ‘서성한’에서 우리학교만 못간게 약간 자존심이 상하면서 기록을 찾아보니 서강대는 백준온라인저지의 최백준님을 필두로 한 번 나간적이 있었고, 성균관대는 We love kriii의 주인공 김경근님을 필두로해서 2번 나간적이 있었던거였다. (물론 다른 팀원분들도 열심히 하셨을 거지만 두분의 이야기가 비교적 많이 들렸다는 얘기다.)
  • 그래서 그렇다면 한양대학교는 나(solarmagic)를 필두로 나갔다는 기록을 세우겠다는 신입생의 패기가 있었고 이걸 위해서 4~5년동안 PS를 하기 시작했다. (열심히 한 기간은 적긴하다.)
  • 대학 다니기전 hyunguk님이 해외리저널도 나가면서 도전을 했었다. 그리고 내가 대학을 다닐때도 나보다 고학년인 ckw1140님과 djm03178님도 도전을 했지만 아쉽게 되지 않았다.
  • 올해 나(solarmagic)과 dtc03012님은 마지막 ICPC였는데 Last Dance를 이루겠다는 약간의 마음가짐이 있었으나 Last Dance는 없었다.
  • solarmagic은 이제 없다. 이제는 후배들의 차례다. tlsdydaud1은 아직 ICPC를 더 나갈수 있으면서 우리 팀에서 대회떄 가장 퍼포먼스가 좋았다. 레드 찍을 수 있다고 본다. SushidoQueue(artichoke42, jame0313, kyaryunha)는 우리팀보다 UCPC, ICPC를 더 잘 치루었고 이에 정말 큰 박수를 보낸다. 이 팀의 인원도 모두 나보다 싱싱한 두뇌라서 내년에도 나갈 수 있고 내년엔 더 좋은 성적을 낼거라 믿는다. 그 밖에도 18학번 이후로 ydk1104, juchan1220, ploffer11 등 그리고 내가 모르는 후배들도 충분히 큰 일을 낼 수 있는 사람이라 생각한다. 또한 22학번 등의 앞으로의 후배들도 기대가 된다. 내가 못 이룬 꿈을 누군가 꼭 이뤄줬으면 한다. 정말로!

팀 후기

  • 코로나라서 밖에 나갈일 없는데 팀연습하느라 가끔식 햇빛 구경해서 좋았다.
  • 팀원들 너무 잘하고 성격도 좋았다. 17년부터 PS를 하면서 많은 팀을 맺었지만 이번 팀이 가장 여러가지가 좋았다고 얘기할 수 있다. (이 글을 보는 다른 내 과거 팀원들이 뻘쭘할것 같으니 그 팀은 근소한 차이로 2등이라고 얘기하겠다)
  • 마음속 할 말은 팀노트 분량보다 많은데 막상 쓰기에는 오그라드니 그냥 접어두고 나중에 만나서 노는거나 했으면 좋겠다.
    • 방탈출 ㄱㄱ

전체적으로 아무말 대잔치를 했는데 그냥 할말이 많은데 그냥 메모장 남기듯이 하나는 남겨놔야 할것 같아서 아무렇게나 써봤다.

  • PS는 접지 않을 거지만 그전만큼 열심히 하지는 않을 것 같다.
  • 다음 블로그 글에는 아마 나의 PS 이력을 한 번 정리하는 시간을 가질것 같다.
  • 앞으로는 일주일에 하나씩 블로그 글 써야지