전체 글 230

Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2)

Div. 1이 있어 오랜만에 코포를 쳤다. A. Increasing and Decreasing (0:02, +) 공차를 뒤에서부터 1, 2, .. 로 설정해준 후 마지막에 수를 몰아서 쓰면 된다. B. Swap and Reverse (0:05, +) \(k\)가 짝수이면 문자열을 자유롭게 변형할 수 있고, 홀수이면 인덱스의 홀짝성을 유지한 채 자유롭게 바꿀 수 있다. 따라서 경우를 나눈 후 문자열을 정렬해주면 된다. C. Divisor Chain (0:44, +2) 쉽게 생각할 수 있는 방법이 다 반례가 있는 것 같아 뇌정지가 왔다. 이상한 풀이로 페널티를 적립하던 중 괜찮은 접근이 떠올라 증명 없이 내서 맞았다. 2의 거듭제곱에 한 번 도달하면 쉽게 끝을 낼 수 있는데, 여기 도달하기 위해 현재의 수를..

PS/CP 2023.08.27

2023 SCPC 2차 예선 후기

역시나 잘하시는 분들이 자세한 풀이를 많이 써 주셨기 때문에 간단하게만 기록합니다. 09:00 ~ 10:08 전날 좀 늦게 자서 비몽사몽한 상태로 눈을 떴다. 1번을 열었는데, 열자마자 PTSD가 왔다. 그 이유는 1학기 팀 연습 때 10번을 틀려 "오렌지도 10번 틀리는 문제"로 한동안 놀림감이 되었던 실버 문제 와 같은 그림이 있었기 때문이다. 그 때의 기억을 떠올리면서 열심히 짜서 냈는데, 30분이나 검토를 했음에도 불구하고 풀테가 안 긁히길래 당황했다. 긁힌 섭태가 좀 이상해서 문제를 다시 봤더니 완주를 하면 말을 재배치한다는 내용을 고려하지 않았다는 사실을 깨달았다. 이와 더불어 몇 가지 잡다한 버그를 고쳤더니 100점을 받을 수 있었다. 10:08~14:00 개인 일정으로 인해 잠시 자리를 비..

Codeforces Round 889 (Div. 1)

오랜만에 코포를 쳤다. A1. Dual (Easy Version) (0:14, +) A가 1/2로 나뉘어 있길래 1부터 풀었다. 횟수가 넉넉해서 대충 하나를 좀 키우고 2배씩 커지도록 만들면 될 것 같았다. 그대로 짜서 AC를 받았다. A2. Dual (Hard Version) (0:50, +2) 2는 1의 접근법을 사용할 수 없었다. 우선 한 가지 관찰이 필요하다: 모든 수가 0 이상이거나 모든 수가 0 이하이면 \(N-1\)번의 연산으로 단조 수열을 만들 수 있다. \(N=20\)이므로 우리는 12번 안에 모든 수를 0 이상 혹은 이하로 만들어야 한다. 이제 주어진 수열에서의 양수의 개수를 \(a\), 음수의 개수를 \(b\), 양수 중 최댓값을 \(x\), 음수의 절댓값 중 최댓값을 \(y\)라 하..

PS/CP 2023.07.30

2023 SCPC 1차 예선 후기

잘하시는 분들이 후기를 많이 써 주셔서 기록용으로 짧게만 씁니다. 1. 증강현실 배달 안경 BOJ의 스테디셀러 설탕 배달 문제를 일반화시킨듯 한 문제이다. 제한이 작아 모든 경우를 확인해보면 된다. 2. 딸기 수확 로봇 2번 이상 꺾는 것은 비효율적이므로 0번과 1번으로 경우를 나누어 잘 탐색해주면 된다. 이분 탐색과 투 포인터로 풀리는 전형적인 유형이다. 소소한 자랑으로 퍼솔을 해 기분이 좋았다. 3. 장난감 이후 3번을 봤는데, 대충 사풀을 짜서 냈더니 틀렸다. 다만, 60점이 나와야 할 풀이인데 0점이 나와 좀 당황스러웠다. SCPC를 오랜만에 쳐서 섭태를 긁으려면 큰 섭태는 무시해야 한다는 사실을 까먹은 채로 분노의 제출을 해 순식간에 10번 중 8번을 써 60점을 받아 버렸다. (이는 4번에도 ..

2023 UCPC 본선 후기

서론 UCPC 본선에 참가하였다. 팀 구성 등의 정보는 예선 후기에 대부분 나와 있다. 우리팀뿐만 아니라 다른 팀의 포스텍 분들도 지방에서 오시는 분들이 많아 전날에 미리 모여 숙소를 잡고 당일 아침 일찍 대회장으로 출발했다. 대회 목표는 작년 000102팀의 구성원 세 명이 모두 다른 팀 (강한친구대한국군, 당신을 대신해 UCPC 팀명을 정해드릴게요, 문제가 맛있어지는 주문) 으로 갈라져서 본선에 출전했는데, 이 중 1등을 하는 것을 목표로 하였다. 사실 객관적 전력은 세 팀 중 가장 열세였기에 저 목표만 이뤄도 괜찮은 기분으로 대회를 마칠 수 있을 것 같았다. 대회장은 대형 스코어보드가 없었다는 점만 빼면 작년보다 괜찮았던 것 같다. 자리가 끝쪽이라 나름 쓸 수 있는 공간이 많았던 점도 좋았다. 대회..

대회 후기/UCPC 2023.07.24

CodeChef Starters 99 (Div. 2)

밀린 후기가 있어 이것만 작성하고 UCPC 후기를 쓰려 한다. Div. 4에서 1등을 했더니 3은 칠 기회도 없이 Div. 2로 와버렸다. P1. Card Swipe (0:02) 잘 구현해주면 된다. P2. Exclusion-Inclusion (0:04) 작은 값부터 빼주면 된다. P3. Segment Three (0:19) 각 원소 당 더해야 하는 숫자는 최대 2이다. 저 쉬운 풀이가 있을 것 같기도 한데 잘 모르겠어서 \(O(27N)\) 3진법 Bit DP를 돌렸다. P4. Two Piles (0:32) 어디서 많이 본 문제라 바로 짰다. 대충 하나 고정하고 스위핑을 잘 해주면 된다. P5. Maximize Ones (0:54) 연산으로 바꿀 수 있는 수가 없는 경우나 모든 수가 같은 경우는 예외처리..

PS/CP 2023.07.23

오늘의 PS (25) - 230719 (제7회 천하제일 코딩대회 Open Contest)

적당한 시간대에 오픈컨이 있길래 가서 쳤다. 처음엔 사람들 닉네임이 무서워서 쫄았는데, 문제들이 어렵지 않아서 결과가 나름 괜찮게 나왔다. 따라서 후기를 써 보려 한다. 카테고리는 적절한 곳이 없어서 거의 1년 만에 오늘의 PS를 부활시켰다. 다음 글이 언제가 될진 잘 모르겠다.. 셋: https://www.acmicpc.net/category/detail/3626 A. 10! (0:01, +) *B4 구현해주면 된다. 0분대 솔브도 가능했을 것 같은데 똑똑한 방법을 찾지 못하고 계산기로 10!/6을 계산하느라 조금 늦었다. B. 고양이 카페 (0:06, +1) *S3 비슷한 문제를 굉장히 많이 봐서 바로 짰다. 제일 작은 원소부터 가능한 원소와 매칭시켜 주면 된다. upper를 lower로 잘못 써서 ..

PS/오늘의 PS 2023.07.20

230716 팀 연습 (LARC 2016)

셋 : https://www.acmicpc.net/category/detail/1572 스코어보드에 나타나는 각 팀의 구성 인원은 아래와 같다. 마찬가지로 3시간 N컴 환경으로 진행하였다. team_000102 : leo020630, minsung05 menborong : menborong slahpasa : slah007, pasa3232 minsung05가 앞, 내가 뒤를 보고 시작했다. ~0:02 minsung05가 가장 쉬운 문제인 A를 풀어주었다. ~0:07 F를 읽고 풀었다. 그냥 브론즈 구현 문제였다. ~0:37 minsung05는 스코어보드에서 풀린 D를, 나는 G를 잡았다. G는 대충 읽어 보니 아는 문제였다. SCPC와 20 선발고사에 나온 기출문제와 완벽히 똑같은 형태라 얼른 짜서 맞..

연습/기타 2023.07.18

230715 팀 연습 (2018 KAIST 8th ACM-ICPC Mock Competition)

사실 1학기나 방학 기간에도 팀 연습을 꾸준히 하긴 했는데, 그닥 열심히 하지 않았을 뿐더러 바빠서 정리를 하지 않았다. 이번 주말부터 연습을 조금씩 하기 시작했는데, 까먹기 전에 정리해두려 한다. 셋 : https://www.acmicpc.net/category/detail/1923 스코어보드에 나타나는 각 팀의 구성 인원은 아래와 같다. team_000102 : qjatn0120baek, menborong, tony9402 leo020630 : leo020630 slahpasa : slah007, pasa3232 slahpasa 팀이 군인이어서 3시간, N컴으로 연습을 진행하였다. ~0:02 문제가 많아서 다 펼쳐놓고 가장 짧은 문제를 읽었다. 다행히도 가장 짧은 문제인 I가 가장 쉬운 문제여서 풀었..

연습/기타 2023.07.18

CodeChef Starters 98 (Div. 4)

menborong님이 CodeChef가 괜찮다고 추천을 꾸준히 하셨는데, 학기 중에는 시간이 없어서 못 치고 이제야 첫 라운드에 도전했다. CodeChef 라운드는 큰 문제 셋을 적당히 쪼개서 Division 1~4로 나누어 운영되는 것 같다. 나는 첫 참가였기에 Div. 4에 배정되었다. menborong과 qjatn0120 선배가 본인들은 1등 했다고 주장하셔서 1등을 목표로 임했다. 제출에 의한 페널티가 없다고 해 제출은 막 했다. P1. Messi vs Ronaldo (0:01) *316 브론즈 5 문제이다. 그냥 짜면 된다. P2. FIND A and B (0:03) *802 각 수를 B에 대입하고 다른 두 수로 A를 만든 후 판별해주면 된다. P3. Airport Management (0:14..

PS/CP 2023.07.18