Skip to content

Commit

Permalink
Create 2024-10-22-nwerc21.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Annyeong-One authored Oct 22, 2024
1 parent b20c30c commit 95301b5
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions _posts/2024-10-22-nwerc21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: NWERC 2021
author: Annyeong1
date: 2024-10-22 20:37:00 +0900
categories: [CP, ICPC]
tags: [cp, boj, icpc]
math: true
mermaid: true
---
2024년 10월 22일, 중간고사가 끝나고 gs22123, iccodly와 함께 NWERC 2021 대회를 돌았습니다. 4시간동안 6문제를 풀어 23등입니다.
# 0:00~1:00
- gs22123이 A-D, 제가 E-H, iccodly가 I-L을 잡기로 했습니다.
- E를 읽었고, 그리디/애드혹적인 무언가를 요구할 것이라는 감상 외에 생각난 게 없었습니다.
- F를 읽었고, 기하의 신 gs22123에게 넘기기로 했습니다.
- G를 읽었고, 매변탐 스탠다드 골드 같다는 감상을 했습니다.
- H를 읽었고, 어딘가 비슷한 느낌의 DP 문제를 봤던 것 같다는 감상을 했습니다. 다만 이분탐색으로 풀어야 할 것 같았습니다.
- G를 잡기로 했습니다.
- 행의 개수를 줄이는 게 목표니까, 행의 개수를 기반으로 이분탐색하자 생각했습니다.
- 각 열에 들어가는 단어의 수가 고정적이지 않아서, 이걸 분리해서 생각하는 발상은 하기 힘들겠다는 생각을 했습니다.
- 생각해보니까 제곱이라서, 그냥 DP 비슷하게 지금까지 나온 단어들을 쓰는 데 필요한 최소 width만 저장해도 풀린다는 것을 깨달았습니다.
- 아무도 풀고 있는 문제가 없어서 노트북을 뺏어 구현을 시작했습니다.
- 이분탐색하는 파트는 쉬운데, 값을 찾은 다음에 실제로 출력하는 파트가 더러워서 구현이 오래 걸렸습니다.
- 그러나 풀어서 한 번에 맞췄습니다.
# 1:00~2:00
- 상황을 확인했습니다.
- gs22123: A와 B가 인터랙티브인데 그중 A가 할 만하고, C는 사람이 할 게 못 되는 3차원 기하학이고, D는 컨벡스헐 비슷한 느낌인데 좀 봐주라고 했습니다.
- iccodly: K가 쉽고, J는 아마 할 수 있을 것이고, I는 많조분 구현이 무조건 들어가고, 시간이 있으면 L을 봐주라고 했습니다.
- D를 보고 H를 보고 L을 보기로 했습니다.
- D를 잡았습니다.
- 어렵지 않은 컨헐 문제로 보였습니다. 증명되지 않았지만 매우 높은 확률으로 맞는 풀이를 발상했습니다.
- 컨헐 구현을 gs22123에게 맡길 예정이었기에 H를 먼저 보기로 했습니다.
- gs22123이 인터랙티브 구현을 절어서 봐주러 갔습니다.
- 근데 혼자 막 하길래 내버려 뒀습니다. 그러더니 풀었습니다.
- 그래서 생각하는 D 풀이를 얘기해줬고, 짜게 뒀습니다.
- H를 다시 봤습니다.
- 얘도 이분탐색으로 될 것 같다는 생각이 들었습니다. 대략 필요한 초깃값에 대한 이분탐색을 하는 것을 생각했습니다.
- 제곱 풀이를 생각해냈습니다.
- D가 막혔다 해서, 반례 몇 개를 던져 주었습니다.
- 10분 정도 디버깅해서 맞았습니다.
- iccodly에게 넘겼습니다. J와 K를 바로 짤 수 있다고 했고, I는 시간이 많으면 짤 수 있을 것 같다 했습니다.
# 2:00-3:00
- iccodly가 K를 짜서 맞췄습니다. 저는 H 풀이를 만든 뒤 L, 이후 B나 E를 잡기로 했습니다. gs22123은 F를 잡았습니다.
- H로 돌아와서, 제곱 풀이가 조금만 바뀌면 제곱처럼 보이지만 사실 O(N+N)인 풀이로 바뀐다는 것을 알아냈습니다. 즉 문제를 해결했습니다.
- iccodly가 J를 짜서 맞췄습니다. I를 짤 수 있을 것 같다고 해서 계속 짜라 했고, H 풀이를 알고 있는 상태로 L을 보려 했습니다.
- gs22123이 F에 대한 이야기를 했습니다. 생각보다 쉽게 해결할 수 있을 것 같아 같이 고민했습니다.
- 근데 저는 기하가 너무 딸려서 생각을 포기하고 gs22123에게 돌려줬습니다. 다시 L을 고민했습니다.
- iccodly가 I를 좀 이따 구현하겠다고 했고, gs22123이 3시간째에 가기로 해서 F를 먼저 짜도록 컴퓨터를 줬습니다.
- L이 너무 어려워서 못 짤 것 같았습니다. gs22123이 애드혹이라 했던 B를 잠깐 봤습니다.
# 3:00~4:00
- gs22123이 아이디어를 남겨주고 갔습니다. 저는 H를 구현하기 시작했습니다.
- 생각보다 구현이 어렵지 않았습니다. 35분 내외로 구현해서 2번 틀린 후 맞았습니다.
- iccodly에게 I를 짤 수 있을 것 같느냐 했고, 4시간째에 나갈 계획이라 아마 못 풀 거라 했습니다.
- L 생각을 20분 정도 더 한 뒤 iccodly가 갈 떄쯤 저도 끝냈습니다.
# 후기
- gs22123이 낸 스위핑 세그트리 F 풀이가 정해라서, 아마 5시간 풀로 했으면 적어도 7개는 풀었을 듯합니다. iccodly가 I를 구현했을 지는 미지수인데, 했다면 거의 월파권인 것 같습니다.
- 플레를 잘 밀었습니다. 풀이가 나오지 않은 플레가 E 하나인데, 업솔빙해야겠습니다.
- 요즘 팀셋 도는 게 재미있습니다. ICPC Mock에 다녀온 뒤로 팀셋을 계속 돌 예정입니다.
- 플랜디 실력이 계속 오르는 것 같습니다. 아무 플레나 던져 줘도 30% 정도 확률로 1시간 내 컷이 가능한 정도인 것 같습니다.

0 comments on commit 95301b5

Please sign in to comment.