본문 바로가기

대회 리뷰/Codeforces

(25)
CodeTON Round 6 Dashboard - CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!) - Codeforces codeforces.com 서론 SCPC 후기를 쓰려다가 트로피 수령하고 쓰려고 미뤘다. 코포 이야기를 하자면, 정말 잘 봐서 또 다시 승급 기회가 생겼다. A - MEXanized Array A번 치고 조금 복잡하다. 우선 min(N, x + 1) < K이면 답은 -1이다. 그렇지 않다면 배열의 첫 K개 원소는 0, 1, 2, ..., (K - 1)로 채우자. 나머지 (N - K)개 원소는 x = K인 경우 (K - 1)로, 그렇지 않다면 x로 채우면 된다. 00:04 AC B - Friendly Arrays N이 홀수인 경우 연산을 수행하면 x는 증가하거나 변하지 않는..
Codeforces Round 896 Dashboard - Codeforces Round 896 (Div. 1) - Codeforces codeforces.com A - Fill in the Matrix 우선 M이 1이면 답은 0이다. 예제로 주어지지 않았다면 반례 찾는데 한참 걸렸을 것 같다. M이 1이 아니라면 답은 min(N + 1, M)이다. 먼저 최대 (M - 1)개의 행을 다음과 같이 채우자. 0 1 2 ... (M - 2) (M - 1) 1 2 3 ... (M - 1) 0 ... (M - 2) (M - 1) 0 ... 여기까지 하면 답은 min(N + 1, M)이 된다. 나머지 행도 적절히 채워야 하는데 그 다음 행을 동일한 규칙으로 채우는 순간 답은 0이 되어버린다. 간단한 방법으로 이를 방지할 수 있다. 나머지 모든 행을 첫..
Pinely Round 2 Dashboard - Pinely Round 2 (Div. 1 + Div. 2) - Codeforces codeforces.com 서론 찐렌지 승급전이었다. D번까지 풀었을 때 LGM 퍼포가 나왔고 ainta님보다도 앞서 있었다. 하지만 E번에서 엄청난 뇌절을 하였고 레이팅은 미국으로 떠나버렸다. A - Channel 모든 구독자가 online인 순간이 있었다면 답은 YES이다. a + ('+'의 개수)가 N 이상이라면 답은 MAYBE이다. 이도 저도 아니라면 답은 NO이다. 00:03 AC B - Split Sort 다음과 같은 배열 B를 정의하자. B[i] = i가 배열 P에서 등장한 인덱스 B[i] > B[i + 1]이라면 답이 1만큼 증가한다. 00:06 AC C - MEX Repetition A..
Harbour.Space Scholarship Contest 2023-2024 Dashboard - Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) - Codeforces codeforces.com A - Increasing and Decreasing y - x < N * (N - 1) / 2라면 답이 존재하지 않는다. 그렇지 않다면 A = {x, ..., y - 10, y - 6, y - 3, y - 1, y}와 같이 만들면 된다. 00:03 WA 오타가 있어서 예제가 나오지 않았다. 00:04 AC C - Divisor Chain 우선 x를 2^n 꼴로 만들어야 하는데 하위 비트부터 제거하면 된다. 2^n 꼴이 되었다면 1이 될 때까지 2로 나누면 된다. 00:12 AC B - Swap and Reverse K가 짝..
Codeforces Round 884 Dashboard - Codeforces Round 884 (Div. 1 + Div. 2) - Codeforces codeforces.com A - Subtraction Game a + b 00:03 AC B - Permutations & Primes 2와 3을 양쪽 끝에 두고 1은 가운데에 두면 된다. 00:11 AC C - Particles 인덱스의 parity가 동일해야 합칠 수 있다. 배열 C를 인덱스의 parity를 기준으로 두 개의 배열로 분할하자. 각 배열에서의 답은 다음과 같이 계산할 수 있다. 배열이 비어 있다면 -INF 모든 값이 음수라면 배열의 원소 중 최댓값 그렇지 않다면 0 이상인 원소들의 합 00:23 AC D - Row Major N의 약수가 아닌 수 중 최솟값을 x라고 하자...
Codeforces Round 880 (Div. 1) Dashboard - Codeforces Round 880 (Div. 1) - Codeforces codeforces.com A - k-th equality brute force 00:10 AC B - Lottery (not solved) 우선 x를 선택하였을 때 이기는 경우의 수 f(x)를 구해보자. x를 선택한 사람이 k명 이상이라면 f(x) = 0이 된다. 그렇지 않다면 다음과 같이 계산할 수 있다. N명의 사람이 선택한 수 중 x보다 크지 않고 x에서 k번째로 가까운 값을 c라고 하자. 마찬가지로 x보다 작지 않고 x에서 k번째로 가까운 값을 d라고 하자. 내가 당첨되기 위해서는 당첨 번호가 c 또는 d보다 x에 더 근접해야 한다. 이를 이용하여 당첨 구간 [s, e]를 구할 수 있고 f(x) =..
Codeforces Round 866 (Div. 1) Dashboard - Codeforces Round 866 (Div. 1) - Codeforces codeforces.com A - Constructive Problem 현재 mex를 x라고 하자. x = N이라면 답은 No가 된다. 그렇지 않다면 배열 A에 (x + 1)이 존재하는지 확인한다. (x + 1)이 존재하지 않는다면 답은 Yes가 된다. (x + 1)이 존재하는 경우 A[i] = (x + 1)을 만족하는 i의 최솟값과 최댓값을 각각 l과 r이라고 하자. A[l .. r]에 x를 할당하였을 때 mex가 (x + 1)이 되는지 확인하면 된다. 00:07 AC B - The Butcher h = max(a) or w = max(b)를 만족하여야 한다. 따라서 가능한 (h, w)는 최대 두 가지이다..
Codeforces Round 857 (Div. 1) Dashboard - Codeforces Round 857 (Div. 1) - Codeforces codeforces.com A - The Very Beautiful Blanket cnt는 분명 N * M일 것 같았다. A[i][j] = 1LL m1인 모든 (a, b) pair에 대하여 m2 >= b를 만족한다. 따라서 a가 큰 순으로 정렬한 후 그리디하게 계산하면 된다. 00:20 WA 00:24 WA 다음과 같은 추가적인 관찰이 필요하다. a > m1인 모든 (a, b) pair에 대하여 max(b)를 m3라고 하자. a < m1인 각각의 (a, b) pair에 대하여 m2를 max(m3, b)로 만들 수 있다. 모든 m1에 대하여 m1에 가장 가까운 b를 구하면 되는데 이는 multiset으로 해결..