본문 바로가기

전체 글

(14)
Codeforces #1012 Div.1 3줄 요약1. A, B1, B2, C1을 풀었다.2. 2850 퍼포가 나왔고, 레드를 가며 최대 레이팅 달성에 성공했다.3. 문제를 안 푼지 시간이 좀 되었는데, 꽤나 높은 퍼포먼스가 나와서 좋았다.서론3/23(일)에 Codeforces #1012 시험에 응시했다.전날에 버추얼을 돌았는데, 찐레드 퍼포가 나와서 이번 코포도 기대할만 하다고 생각했다.시험이 시작되었다.A(~0:05)A 문제를 읽었다.대충 n/2에 가장 가까운 소수 p를 잡고 p, p-1, p+1, p-2, p+2, ...을 출력하면 되는 문제였다.바로 맞았다.B1(~0:15)B1 문제를 읽었다.B[i]-A[i]의 누적합을 만들어서 적당히 스택으로 처리해줄 수 있었다.바로 맞았다.B2(~0:45)B2 문제를 읽었다.B1 문제와 비슷하게 하되..
2025 IOI 국가대표 선발고사 후기 1/18, 2/22에 2025 국제정보올림피아드 국가대표 선발고사에 응시했다.1차 400점(1위) + 2차 214.62점(2위)로 종합 2등으로 국가대표에 선발되었다.작년에는 국가대표 후보로 선발되어 국가대표 교육에만 참여하고 IOI에는 참여하지 못했는데, 올해는 IOI에 참가할 수 있게 되어 기쁘다.IOI에 나가서 좋은 성적을 거두고 싶다.1/18 1차 선발고사 후기올해에는 꼭 국가대표가 되어야 하겠다는 신념으로 시험에 응시했다.0:00 ~ 0:10 (0 / 0 / 0 / 0 = 0)문제를 모두 읽고 섭테 배점과 조건을 종이에 정리했다.0:10 ~ 0:34 (0 / 0 / 100 / 0 = 100)아무리 봐도 3번이 쉬워 보여서 3번을 먼저 시도했다.오래 걸리지 않아 간단한 O(N) DP 식을 세웠고,..
PS 연습 3 1/19 ~ 2/22위 기간 동안 2차 선발고사를 대비해 문제를 풀었다. 1/19(일) - 1(?)일차BOJ 25014 열차의 이동무려 자력으로 풀었다.경로 P에서 Q로 이동하는 과정을 생각해보자.P에서 Q에 가장 가까운 정점을 x1, Q에서 P에 가장 가까운 정점을 x2라고 하자.그러면 이동 과정을 다음과 같이 나타낼 수 있다.1. P를 둠칫둠칫해서 P의 끝점을 x1으로 옮기기.2. x1으로 옮긴 끝점을 x2로 옮기기3. 끝점이 x2인 경로를 둠칫둠칫해서 Q로 옮기기.1과 3은 뒤집으면 같은 과정이므로 1, 2만 처리해주면 되는데, 2는 그냥 자명하다.그래서 1(둠칫둠칫)을 잘 처리해주면 된다.경로를 일자로 폈을 때 각 정점별로 최대 깊이를 구하자.이 정보를 활용해 적당히 투 포인터 + DP를 하면 된..
PS 연습 2 12/20 ~ 1/18위 기간 동안 1차 선발고사를 대비해 문제를 풀었다.작년과 매한가지로 4문제/5시간 셋을 자주 돌았다.12/20(금) - 1일차기말고사가 끝난 날이다.놀다가 코포 Div.1 셋을 시간 제한 없이 돌고, 백준 한 문제를 풀었다.Codeforces Round 990(Div.1)시간 제한을 따로 설정하지 않고 A, B, C를 풀었다.A, B는 무난하게 쉬웠다.C는 대충 세그먼트 트리 + 스위핑으로 풀 수 있었다.BOJ 24975 Pair Programming대충 DP를 짜면 된다.12/21(토) - 2일차기말고사가 끝난 다음 날이다.코포 Div.1 셋을 시간 제한 없이 돌고, ARC 셋 하나를 시간 제한 없이 돌고, 백준 두 문제를 풀었다.Codeforces Round 980(Div.1)..
NYPC 2024 본선 후기 개요NYPC 2024 본선 대회를 가게 되었다.중간고사가 화요일에 끝났고, 대회가 그 주 토요일이었기 때문에 준비할 시간이 거의 없었다.화요일부터 금요일까지 기본적인 감만 회복해서 간 것 같다.대회 전밥을 먹고 넥슨을 갔다.본선 진출자로서 간 건 5년째이고, 동반인으로서 간 것까지 포함하면 7년째이다.분위기는 익숙했는데, 올해에는 아는 얼굴들이 많이 보여서 반가웠다.대회가 시작하기 전에 친구들과 놀고 있는데 사진 찍어달래서 찍어줬다.대회 중1번(0:00~0:13)1번 문제를 읽었다.생각보다 어렵게 생겨서 당황했다.$K \le 5$ 조건을 읽고 금방 DP 식을 떠올렸고, 이를 역추적하는 과정을 통해 답을 구할 수 있었다.다행이 짜자마자 정답이 나왔다.2번(0:13~0:24)2번 문제를 읽었다.1번 문제보다..
2024 IOI 멘토교육 5주차 BOI 2022를 돌았다.0:00 ~ 0:24(20 0 0)1번 문제를 읽었다. 인버전의 수를 이용해 원래 순열을 알아내는 인터랙티브 문제였다.문제를 보고 처음 든 생각은 두 개의 원소의 비교가 O(1)에 가능하다는 것이었고, 이 생각이 맞다는 것을 검증하기 위해 간단하게 버블 정렬을 구현해서 $N \le 40$인 경우까지 해결했다.0:24 ~ 0:27(50 0 0)버블 정렬 대신 합병 정렬을 이용한 방법으로 $N \le 2000$인 경우까지 해결했다.0:27 ~ 0:47(100 0 0)아무리 생각해도 원소를 두 개씩 정렬하는 방식으로는 $N$번만에 원래 순열을 알아내는 것이 불가능해 보여, 여러 개씩 비교하는 방법을 생각했다.반으로 나눠서 반씩 비교하는 방법을 생각했지만, 방법이 발전되지 않았다.생각을..
2024 IOI 멘토교육 4주차 JOISC 2018/2019 중 세 문제로 이루어진 셋을 돌았다.이 날은 기말고사가 끝난 당일 날로, 학교 일정 때문에 부득이하게 셋을 늦게 시작했고, 중간에 한 문제가 이미 풀었던 문제여서 문제를 수정했다. 신체적, 정신적으로 컨디션도 안 좋았을 뿐더러, 시간도 많지 않아서 셋을 제대로 풀지 못했다.따라서 시간대별 복기는 올리지 않고, 내가 각 문제별로 어느 서브태스크까지 풀었는지만 정리할 것이다.1. Bitaro, who Leaps through TimeJOISC답게 서브태스크가 거의 나눠져 있지 않았다.서브태스크 1은 쉽게 풀 수 있었고, 서브태스크 2는 합성함수 세그먼트 트리를 잘 이용하면 풀 수 있을 것 같았다.x좌표와 현재까지 사용한 가중치를 $(x, w)$라고 했을 때, $x$의 범위에 따라..
2024 IOI 멘토교육 3주차 IOI 2023 Day 1을 돌았다.0:00 ~ 1:53(35 / 0 / 0 -> 35)1, 2, 3번 문제를 읽고 이해했다. 1, 2, 3번 문제가 모두 어려워 보였기 때문에 1번 문제부터 천천히 고민해보기 시작했다.1번 문제의 1, 2, 3번 섭테는 간단하게 해결할 수 있었고, 4번 섭테는 뭔가 더 아이디어가 필요할 것 같았다.X의 오른쪽, Y의 왼쪽으로 얼마나 갈 것인지를 $O(N^2)$으로 모든 경우를 다 해 보고, 각 경우를 $O(logN)$에 처리하면 될 것 같았다.각 경우에 대해서 선택해야 하는 값들을 작은 것부터 선택하는 그리디가 성립하기 때문에, 가장 작은 것 x개를 골랐을 때, 합이 K 이하가 되는 x의 최댓값을 구하면 된다. 이는 좌표 압축 + 세그먼트 트리로 구현할 수 있다.처음에는..