본문 바로가기

Diary/Competitive Programming9

260110 - 2025 경인지역 대학 연합 프로그래밍 경시대회 shake! 후기 꽤 인상 깊고 즐거웠던 대회였기에 지금까지의 후기들보다 조금 더 진득하게 기억을 남겨보려 한다.대회 전 작년 11월 29일, 경희대학교 예선을 4등으로 마치고 기말고사에 치이며 학기를 마무리했다. 참 아이러니한 게, 시험 기간에는 그렇게 PS가 재밌었는데 종강과 동시에 급격히 흥미를 잃어버렸다. 분명 하루에 막 골랜디 20문제씩 하고 코포도 맨날 하는 그런 나를 기대했지만, 정작 대회 직전 남은 건 그냥 알차게 놀았던 나였다. 대회 전날까지만 해도 친구가 없는 이슈로 외롭게 대회장에 갈 생각이었지만, DM으로 PS에 관한 대화를 나눈 적이 있는 dbgusdn012님으로부터 대회 전 미리 만나서 같이 가자는 연락이 왔다. 한 줄기 빛과 같은 연락이었기에 바로 좋다고 했고, 대회장 입실 1시간 정도 전에.. 2026. 1. 14.
251129 - 2025 경희대학교 shake! 예선 후기 학교 다니느라 까먹고 이제야 쓴다.푼 문제A - 포도주 상인 AC 긴장해서 그런지 지문이 잘 안 읽혀서, B를 좀 틀린 뒤에야 잡았다. 그냥 별 거 없는 수학 문제.B - 사칙연산 게임 AC 애증의 문제. 어 왜 틀리지? 아 이러면 안 되는구나. 어 왜 틀리지? ... 를 7번 반복하고야 맞았다. 그런데 오히려 여기서 말아먹고 긴장이 좀 풀렸던 걸로 기억한다. 'mod한 결과를 들고 가면서 비교하면 안 된다'가 이 문제의 핵심 포인트인데, 그걸 알고도 6번이나 틀렸다. 바본가?C - 아이스크림 접기 AC 간단한 기하학 문제. 변수 잡고 삼각비 이용해서 식 정리를 예쁘게 하면 깔끔하게 답이 나온다. 살짝 모의고사 수학 시간 느낌이 들었다. 퍼솔.D - 세 배열 오름차순 AC 거의 똑같은 문제를 푼 기억이 .. 2026. 1. 5.
250906 - LGCPC 2025 예선 후기 푼 문제A - 서브태스크 점수 100점처음 문제를 읽고 꽤나 오래 갈피를 못 잡았던 걸로 기억한다. 자잘하게 구현할 것들이 많아 보였고, 글도 잘 안 읽혔다. 그래서 우선 코드를 짜며 생각해보기로 했다. 문제별 가능한 서브태스크 점수의 경우는 위상 정렬로 구해보고, 경우의 수는 DP로 구하면 될 거 같았다. 그런데 서브태스크 점수의 경우의 수를 구하는 과정에서 위상 정렬만으로는 뭔가 부족하다는 것을 깨닫고, 문제를 다시 읽어보니 범위가 상당히 작아서 백트래킹으로 가능한 모든 서브태스크 조합의 수를 구했다. B - k 혐오자 8점우선 8점 짜리 서브태스크는 나이브한 풀이로 정말 쉽게 긁을 수 있어서 바로 긁었다. 그리고 문제를 좀 쳐다봤다. BOJ 1019번에서의 아이디어를 사용하면 되려나? 싶은 생각이 .. 2025. 9. 7.
250712 - UCPC 2025 예선 후기 푼 문제A - 체육은 수학과목 입니다 2사칙연산. B - 도미노 게임애드혹. 처음에는 가장 작은 숫자가 적혀 있는 타일에서 확장해가는 BFS를 생각했으나, 코드를 짜다가 갑자기 '모든 원소의 합' - '최솟값'이 답이 된다는 사실을 깨닫고 갈아 엎었다. I - 로봇 청소기구현, 유니온 파인드. 최댓값은 항상 N으로 만들 수 있고, 최솟값은 최대한 인접하게 좌표를 만들어주면서 유니온 파인드로 집합을 관리해주면 된다. 구현이 살짝 어려웠음.D - 연산 추가하기스위핑, 누적합. 스위핑으로 구간 나누고, 쿼리는 식을 예쁘게 다듬고 누적합으로 처리하면 O(1)에 처리할 수 있다. O(NQ)에서 줄이는 법을 고민하느라 시간이 조금 걸렸음.E - 콘서트구현, 시뮬레이션. 증오스러운 문제다. 처음에 생각 잘 해놓고 시.. 2025. 7. 13.
250711 ~ 250712 - 제11회 SCPC 1차 예선 후기 푼 문제1 - 거스름돈단순한 그리디 문제. 가능한 거스름돈의 경우가 4,500원, 500원으로 2가지만 존재하기에 1,000원짜리를 우선적으로 사용하면 된다.2 - 폭탄브루트포스 + 누적합. 모든 폭탄을 왼쪽으로 옮기는 데 걸리는 시간을 기본값으로 설정하고, 각 폭탄을 기준으로 폭탄의 목적지를 양쪽 끝으로 나누어가며 최솟값을 구한다. 걸리는 시간은 누적합을 사용하면 O(1)에 구할 수 있다. 3 - 십진수애드혹. 문제에서 묻는 바는 사실 제시된 십진수보다 작은 '0, 1, 2로만 표현되는 수 중' 중 가장 큰 수를 삼진수로 생각하고, 이를 십진수로 출력하면 된다. 예를 들어, 123450가 입력되었다면, 122222가 이에 해당한다. 이를 삼진수 보고 십진수로 변환하면 485가 나온다. 못 푼 문제4 -.. 2025. 7. 13.
250316 - 제2회 피갤컵 후기 푼 문제A - 피갤컵단순한 사칙연산 문제. N의 범위가 상당히 작아서 하드 코딩으로 풀었다. B - 나이트의 이동여느 BFS 문제들과 비슷해 보여서 뇌 빼고 코드를 짜기 시작했다. 그랬으면 안 된다... N의 범위가 100,000까지 가능하다. 단순히 생각해 보면 O(N²)으로 당연히 안 된다는 걸 알 수 있다. 생각 좀 하고... 문제를 풀자..... 그리고 엣지 케이스 하나를 생각하지 못해서 여러 번 틀렸다. 아쉬움이 남는 문제.C - 2^3은?비트 연산에 쫄아서 D 푼 뒤에 푼 문제. 딱 봐도 순수 증명으로는 쉽지 않아 보였다. 그래서 작은 수의 p, q, r에 대해 브루트포스로 답을 구하고, 규칙을 찾아서 일반화했다. D - 1과 53의 배수의 특징을 알고 있으며 떠올릴 수 있었다면 반은 먹고 갈.. 2025. 3. 16.