전체 글 203

Educational Codeforces Round 132 (Rated for Div. 2)

오랜만에 언레로 치는 Div. 2이다. 언레라 좀 중간중간 놀면서 쳤다.. A. Three Doors (0:04, +) 경우를 잘 나누어주자. B. Also Try Minecraft (0:12, +) 양 방향으로의 누적합 배열을 만들어주면 쉽게 해결할 수 있다. C. Recover an RBS (0:20, +) 만약 만드는 방법이 유일하다면 ?인 자리에 대해서 (((..))) 형태일 것이다. 괄호 문자열의 조건 상, 가장 안전한 다음 해는 (((..)(..)) 형태일 것이기 때문에 이 형태의 해를 만든 후 괄호 문자열인지 판별해 주면 된다. 인덱싱 실수로 한 번 틀렸다. D. Rororobot (0:31, +) 만약 x좌표의 차이나 y좌표의 차이가 k로 나누어떨어지지 않으면 불가능하다. 이 조건을 통과한..

PS/CP 2022.07.22

Codeforces Round #809 (Div. 2)

A. Another String Minimization Problem (0:04, +) 그리디하게 잘 바꿔주면 된다. 평소 A보다는 살짝 어려웠던 듯 B. Making Towers (0:13, +) 각 칸 사이에 짝수 개의 원소가 있어야 = 인덱스의 홀짝성이 계속 바뀌어야 탑을 쌓을 수 있다. 이를 바탕으로 잘 구현해주면 된다. 별로 맘에 드는 문제는 아니었다. C. Qpwoeirut And The City (0:22, +) 원소가 홀수개일때는 배치가 결정되지만, 짝수개라면 중간에 한 칸을 띄울 수 있다. 두 경우에 대한 prefix sum을 미리 계산해준 후 어디서 띄울 지를 결정해주면 된다. D1. Chopping Carrots (0:34, +) MAX를 고정하면 만들 수 있는 수 중 해당 값에 가장..

PS/CP 2022.07.19

AtCoder Beginner Contest 260

A. A Unique Letter (0:01, +) *12 ABC A답게 잘 구현해주면 된다. B. Better Students Are Needed! (0:06, +) *195 B치고 꽤 복잡했다. 구조체를 만든 후 3번을 잘 정렬해주면 문제를 해결할 수 있다. C. Changing Jewels (0:13, +1) *413 뭔가 복잡한 연산이 쓰여 있는 것 같지만, 그리 어렵지 않다. 제한이 매우 작기 때문에 대충 시뮬레이션 해주면 된다. D. Draw Your Cards (0:22, +) *1074 (가장 위 수, 쌓인 개수)를 원소로 하는 pair형 set을 사용해주면 적절한 구현으로 문제를 해결할 수 있다. 각 원소마다 내 밑의 원소를 저장해주면 답 계산도 편하게 할 수 있다. E. At Least..

PS/CP 2022.07.18

2022 현대모비스 알고리즘 경진대회 후기

엠바고가 풀리지 않아 설명이 불친절한 점 참고해주기 바랍니다. 예선 대회 중에 점수를 알려주지 않는 대회는 18년도 KOI 이후 굉장히 오랜만이었기 때문에 감회가 새로웠다. 아직 문제에 대해 자세한 후기를 쓰면 안되는 것 같아 설명은 생략하도록 하겠다. 나는 1, 2번에서 만점을 받고, 3번을 대부분 맞았다. 하지만 4번에서는 정확히 풀었으나 특정 issue로 대부분 틀리게 되었고, 5번은 대충 맞는 것 같은 풀이를 냈더니 대충 3분의 1 정도를 맞았다. 결과는 48등으로, 턱걸이로 본선에 진출할 수 있었다. 본선 완전하지는 않으나, 예선보다는 훨씬 나은 환경에서 본선을 진행하였다. 1번을 30분정도 걸려서 풀고, 2번도 비슷한 시간을 소모해서 풀었다. 그 후 3번과 4번을 봤는데, 3번은 예제를 이해할..

220712 팀 연습 (CERC 2019)

셋은 CERC 2019를 사용하였으며, 팀원 간 거리가 멀어 아쉽게도 연습은 3컴 체제로 진행하였다. 내가 뒤, slah007 선배가 가운데, qjatn0120 선배가 앞을 보고 시작했다. ~0:19 나는 I, qjatn0120 선배는 A, slah007 선배는 F를 잡고 시작했다. F의 AC가 13분에 먼저 나왔으며, 나는 할만해 보였던 I를 계속 잡아 19분에 AC를 띄웠다. ~0:30 이후 qjan0120 선배의 A AC가 나왔다. 나는 J를 잡았으며, slah007 선배는 E를 잡은 것 같다. ~0:41 J를 다 짜서 냈더니 틀렸다. 바로 반례가 있음을 깨닫고 성의 없는 커팅을 해서 냈는데 바로 맞았다. 정확한 이유는 몰랐지만 어쨌든 기분이 좋았다. 대회 끝나고 솔루션을 찾아보니 대충 제곱근 분할..

연습/000102 2022.07.13

AtCoder Beginner Contest 259

굉장히 오랜만에 CP 카테고리에 글을 쓴다. 오늘의 PS와 경계가 모호해진 것 같긴 하지만, 오늘은 이것 외에 문제풀이 활동을 하지 않아서 그냥 여기 적겠다. ABC 259 A. Growth Record (0:03, +) *34 평소 A번치고 헷갈려서 솔브가 약간 늦었다. 문제는 쉽다. B. Counterclockwise Rotation (0:08, +) *180 이런 걸 왜 내지? 잘 회전변환 해 주면 된다. C. XX to XXX (0:14, +1) *451 두 문자열을 묶음으로 본 후 잘 비교해주면 된다. 인덱싱 실수로 한번 틀렸다. D. Circumferences (0:22, +) *947 이런 걸 왜 내지? 2. 조건에 따라 원들이 겹친다면 Union Find로 묶어주면 된다. E. LCM on..

PS/CP 2022.07.10

오늘의 PS (20) - 220708

13:00~15:30 모비스 본선 16:30~18:30? 천코대 오픈콘 23:35~01:35 에듀코포 를 쳤다. 모비스 대회에 대한 후기는 생략하도록 하겠다. 제6회 천하제일 코딩대회 본선 Open Contest 2시간 늦게 참여하기도 했고 중간에 자리를 몇 번 비워서 진지한 마음으로 치지는 않았다. 아마 종료때까지라도 했으면 F는 풀었을 것 같다. A. Gravity Hackenbush 지문 낚시 문제이다. 각 플레이어가 초록색 간선을 최대한 많이 쓰는 것이 최적이므로 이를 토대로 비교해주면 된다. C. Merge the Tree and Sequence Split the SSHS 문제와 세팅이 비슷하다. 간선을 묶는 것은 그때와 같이 하면 되고, 남은 부분은 간선을 묶는 것에 비하면 크게 어렵지 않다...

PS/오늘의 PS 2022.07.09

solved.ac D2 달성

열심히 올리던 오늘의 PS 글을 이번 주에는 쉬었다. 물론 그 동안 문제를 풀지 않은 것은 아니다. 열심히 풀었지만, 푼 문제들의 대다수가 새로운 알고리즘 학습 용도의 기본 문제들이거나 풀이를 대강 알고 있던 문제들이라서 글을 써도 쓸 말이 없을 것 같아 쓰지 않았다. 이런 방식이 마냥 좋다고 생각하지는 않지만, 대회 시즌이기 때문에 하나라도 더 아는 것이 중요하다 생각해서 이것저것 배워보았다. 그 덕에, 티어는 정말 쭉쭉 올랐다. 덕분에 1주일만에 레이팅 50을 올리면서 solved.ac 티어를 D2로 높일 수 있었다. D2로 올려준 문제는 Slope Trick 튜토리얼으로 유명한 13323,13324 BOJ 수열 1,2 이다. 추가로, 내가 속한 대학의 랭킹 1등 분, 고등학교의 랭킹 2등 친구가 모..

기타 2022.07.08

2022 UCPC 예선 후기

우리 팀 "내 이름은 무면허 라이더 김범수 나로 말할 것 같으면" 은 9솔브, 페널티 780분으로 12위를 차지하였다. 팀명은 해당하는 팀원분이 카톡을 읽지 않아 저렇게 결정되었다. 팀명에 대한 불만이 많으신 것 같지만, 적어도 나는 스코어보드 첫 페이지에 저 팀명을 올릴 수 있게 되어서 좋다. 결과에 대한 회고는 뒤에서 하고, 우선 시간 별 진행 상황을 정리해보도록 하겠다. 문제 배분은 코포 레이팅 순대로 qjatn0120 선배가 앞 4문제, 내가 가운데 3문제, slah007 선배가 마지막 3문제를 보기로 했다. ~0:03 A 2분 안에 못풀면 벌금이라느니... 팀명을 첫 페이지에 올려야 한다느니.. 같은 이상한 소리를 하다 대회가 시작되었다. 서버 이슈로 인해 접속이 약간 지연되었다. qjatn01..

대회 후기/UCPC 2022.07.03