대회 리뷰/Codeforces
Codeforces Round 884
hijkl2e
2023. 7. 15. 16:41
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라고 하자.
x개의 서로 다른 알파벳을 순서대로 N번 출력하면 된다.
00:29 AC
E - Great Grids (not solved)
관찰이 매우 중요한 문제이다.
우선 'A', 'B', 'C'를 각각 0, 1, 2로 바꾸어 생각해보자.
관찰 1. 인접한 두 셀의 차이(mod 3)는 1 또는 2이다.
관찰 2. A[i][j] - A[i][j + 1] ≡ A[k][j] - A[k][j + 1] (mod 3)
관찰 3. A[i][j] - A[i + 1][j] ≡ A[i][k] - A[i + 1][k] (mod 3)
따라서 마지막 행과 열을 제외한 모든 행과 열에 1 또는 2를 대응시킬 수 있다.
그리고 가능한 모든 대응에 대하여 이를 만족하는 great grid가 존재한다.
각 제약은 다음과 같이 해석할 수 있다.
- (x2, y2) = (x1 + 1, y1 + 1): 행 x1과 열 y1은 서로 다르다.
- (x2, y2) = (x1 + 1, y1 - 1): 행 x1과 열 y2는 동일하다.
이제 주어지는 제약에 모순이 있는지 확인하면 된다.
이는 곧 2-coloring problem이 되며 dfs 또는 Union-Find로 해결할 수 있다.
F1 - Min Cost Permutation (Easy Version) (not solved)
Pass
F2 - Min Cost Permutation (Hard Version) (not solved)
Pass
G - Tree Weights (not solved)
Pass
H - Multiple of Three Cycles (not solved)
Pass
끝
끝