전체 글(127)
-
2026 KAIST RUN Spring Contest 참가 후기
우선... 대회 사진은 없다. 이 멍청한 자가 대회 분위기를 저장하는 것을 전부 잊었기 때문이다. 썸네일도 KAIST 전경이 아니라 대회 끝나고 다음날 새벽 기차 타러 갔을 때 찍은 대전역 사진이다. 사실 아니다. 병구이에 대한 의문이 더 썸네일과 부합할 것 같아서 그거로 해 놨다. 앞으로 이런 대회에 참가할 기회가 생긴다면 기록을 해놓도록 하겠다.BOJ의 서비스 종료 이후 치뤄지는 첫 대회이다. 이게 일정 상 BOJ 대회 탭에 올라와 있었던 마지막 두 대회 중 하나였던 것으로 기억한다(5월 3일. 나머지 하나는 제3회 UtilCup으로, 5월 10일 예정이었다.). BOJ 서비스 종료와 열흘도 텀을 두지 않은 대회였던 만큼 대회 플랫폼의 급작스러웠을 변경에도 대회는 한 가지 문제점(이는 후술하며, 운영..
2026.05.05 -
BOJ 30904 - Galaxy Quest
오랜만에 블로그 글을 작성하는 느낌이 든다. 뭔가 이상한 태그 조합을 가진 문제를 접하고 나서 이건 반드시 풀어본 뒤 블로그에 풀이를 올려야만 하겠다고 다짐했다. 다행히 태그 조합을 알고 풀어서 생각보다 푸는 시간은 오래 걸리지 않았는데, 그럼에도 불구하고 태그 조합은 기괴하기 이를 데가 없어서 풀이를 작성할 가치가 있다고 느꼈다. 그럼 본격적으로 풀이에 돌입해 보자.문제당신은 우주선을 타고 은하계를 여행하고 있다. 은하계는 \(1\)번부터 \(n\)번까지 번호가 매겨진 행성 \(n\)개가 있으며, 이는 3차원 공간 상의 점으로 취급할 수 있다.당신은 \(m\)개의 우주 고속도로를 이용하여 행성과 행성 사이를 이동할 수 있다. 각 고속도로는 두 행성을 잇는 선분이다. 우주선의 엔진은 \(1\textrm{..
2026.02.10 -
2026-01-14 ~ 2026-01-27 Unrated 사냥 (1)
최근 꽤 많은 수의 Unrated를 풀고 첫 기여를 매겼다. 개중에 블로그에 풀이를 올리고 싶었던 것도 있고 아닌 것도 있는데, 첫 기여라 사람들이 많이 찾으면 난이도가 크게 변동될 가능성이 농후한 문제들이 여럿 보여서 그냥 Massive Chunk라는 카테고리를 만들고, 코드 없이 간단하게 풀이 스케치만 올리기로 했다.정말 야생의 문제가 많았다. 난이도 자체를 가늠하지 못하기 때문에 풀지 못하고 문제 본문만 본 채 넘기는 문제가 많은 건 당연하다. 하지만 입력 형식이라던지, 예제의 상태라던지, 심지어는 제한을 제대로 안 주는 문제도 여럿 있었다. 반면교사로 삼기로 했다. 문제의 난이도나 알고리즘 유형이 아닌 곳에서 내가 풀다가 불쾌해지는 지점이 어디에 있는지 알았으니, 추후 문제를 낼 때는 저런 요소를..
2026.01.27 -
BOJ 31117 - Nonsense
이 문제를 풀고 기여를 남김으로써 Ruby II가 되었다. 아이디어가 어렵고 구현이 가벼운 고난이도 문제를 며칠간 찾아헤맸는데, 내가 풀 수 있는 문제를 정말 오랜만에 만나서 기쁜 마음으로 잡아냈다. 그럼 본격적으로 풀이에 돌입해 보자.문제\(f_{n,x,y}(a,b)\)를 \(n,x,y,a,b\)가 주어질 때 다음 수식의 값으로 정의한다. \[f_{n,x,y}(a,b)=\sum_{i=a}^{n-b}\binom{i}{a}x^{i-a}\binom{n-i}{b}y^{n-i-b}\]Bobo는 \(q\)개의 순서쌍 \((a_1,b_1),\cdots,(a_q,b_q)\)를 가지고 있다. Bobo를 위해서 \(f_{n,x,y}(a_1,b_1),\cdots,f_{n,x,y}(a_q,b_q)\)를 \(998244353..
2025.10.13 -
BOJ 18457 - Knowledge
내가 살다살다 이런 토픽을 가진 문제를 볼 거라고는 예상하지 못했다. 출제자가 예상한 풀이법이 무엇인지는 모르겠지만 장담하건대 내 풀이법이 가장 생각하기 쉬울 것이다. 아니라면, 부디 연락해 달라. ta.nflight11@gmail.com으로 상세한 풀이과정을 주면 된다.물론 내 풀이법도 쉽지는 않다. 이게 대체 뭐야 싶은 것이기도 하고... Modular form을 배우고 있지 않았다면 못 풀었을 거다. 이게 뭔 상관이냐고? 풀이를 보라. 그럼 본격적으로 풀이에 돌입해 보자.문제당신은 \(a,b\)로만 구성된 문자열 \(s\)을 가지고 있다. 문자열의 어느 위치에서나 \(aa, bbb, ababab\)를 끼워넣거나 지우는 연산을 0회 이상, 순서 상관 없이 원하는 만큼 수행할 수 있다.당신의 목표는 이..
2025.07.31 -
BOJ 18447 - Angle Beats
16661번 문제를 풀던 11달 전부터 풀이는 대강 알고 있었는데, 구현을 할 자신이 없어서 묵혀 두고 있었다. 하지만 이제는 더 미루기 싫어서 이 문제를 잡아야겠다고 마음을 먹었다. 구현에 필요한 알고리즘을 공부하고, 알고 있는 풀이를 집어넣었더니 다행히 금방 풀렸다. 구현미스가 전부 예제나 손으로 생성한 테스트케이스에서 걸린 게 참 다행이 아닐 수 없다.그러면 본격적으로 풀이에 돌입해 보자.문제당신은 \(n\times m\) 크기의 직사각형 격자판을 가지고 있다. 모든 단위격자는 '*', '+', '.' 셋 중 하나는 포함하고 있다. 트로미노는 중심을 이루는 단위격자의 네 변 중 두 변에 각각 하나의 단위격자가 붙은 것을 일컫는다. 중심이 아닌 두 단위격자가 꼭지점을 공유하고 있을 때 이를 L 모양이..
2025.07.29