찍턴 휴가를 나와서 오랜만에 친 대회.
정말 오랜만에 핸디캡 없는 대회이다.
(작년 말의 대회는 부상으로 인해 왼손 하나로 쳤었고, 올해 초의 대회는 군대에서 격리중에 휴대폰으로만 쳤었다. 휴대폰 대회는 후기를 남기지 못하였다.)
A: Three Doors
Trivial.
AC: 4 분
양방향으로 낙폭 누적합을 전처리해두면 된다.
AC: 12 분
복잡하게 생각을 하다가 꼬였다. Unique한지 아닌지만 판별하면 되므로, greedy한 접근이 가능하다.
?에 치환할 필요한 (와 )의 개수를 계산한 후, 모든 (를 왼쪽으로 몰고 )를 오른쪽으로 몰아 넣는 생각을 해보자. Invalid한 braces가 발생하는 것은 아직 열지 않은 괄호를 닫는 경우이므로, 이렇게 greedy하게 배치하는 것이 최선이다.
Unique한지에 대한 검사는, ((((()()))))에서처럼, (와 )의 접점 부근 두 괄호쌍 위치를 바꿔주면 된다. 이는 greedy한 배치에서 second best이므로, 이 배열이 valid하다면 2개 이상의 배열이 가능하다는 뜻이다.
AC: 1시간 10분
D: Rorororobot
$\Delta x$와 $\Delta y$가 $k$의 배수인지 간단히 판별한 후, 이동 경로 사이의 column 중 높이가 너무 높은 장벽이 있는지만 확인하면 된다. Segment tree로 간단하게 처리할 수 있다.
AC: 1시간 31분
총평
C에서 쓸데없이 많은 시간을 썼다.
퍼포먼스는 무난 그 자체.
레이팅 변화: 1809 + 28 = 1837
My Performance: ★★★☆☆
연습지
'Competitive Programming > Codeforces' 카테고리의 다른 글
대회후기: Codeforces Round #810 (Div. 2) (0) | 2022.07.28 |
---|---|
대회후기: Codeforces Round #750 (Div. 2) (0) | 2021.10.25 |
코딩일지: Codeforces-Supercharger (예제 테스트 자동화 도구) (0) | 2021.02.24 |
대회후기: Codeforces Round #704 (Div. 2) (0) | 2021.02.23 |
대회후기: Codeforces Round #703 (Div. 2) (0) | 2021.02.19 |