2021. 7. 9. 01:13ㆍContest/Codeforces
Codeforces Round #730 (Div. 2)
Dashboard - Codeforces Round #730 (Div. 2) - Codeforces
codeforces.com
퍼포 : 1792
등수 : 1139
레이팅 변화 : 1633 -> 1675 (+42)
솔브 수 : 3
이번에 퍼플퍼포를 띄울수 있었는데 D1의 뇌절, C 맞왜틀 때문에 이루지 못하였다.
아쉬운 라운드였지만, 이젠 블루퍼포가 계속 나온다는 게 좀 기뻤다.
이제 더 노력해서 퍼플을 노려보자.
Problem - A - Codeforces
codeforces.com
첫번째 출력 : |n-m|이다.
두번째 출력 : 두수를 |n-m|의 배수로 만드는 경우 중 최소 또는 0으로 만드는 경우 중에서 최소인 것을 찾으면 된다.
4분 AC.
Problem - B - Codeforces
codeforces.com
어떤 배열의 두 수 절댓값 차의 총합을 최소화하는 문제이다.
절댓값 합이 최소가 되려면 같거나 차이가 거의 안나는 숫자들로 바꿔야 한다.
이때 우리는 이 원소들을 잘 조정해서 거의 다 비슷한 수들로 만든다고 했을때
서로 같은 수거나 절댓값 차가 1인 수들로 만들수 있다는 거다.
예를 들어 8 3 6 11 5 2 1 7 10 4 같은 경우 이를 5 5 5 6 6 6 6 6 6 6 이런식으로 바꿀 수 있고 이것이 최소가 될 수 있다는 것이다.
절댓값의 차의 총합은 간단하게 구할 수 있다. 그냥 (n인 윈소들의 갯수)*(n+1인 윈소들의 갯수)이다.
8분 AC. (신기록 :yum:)
막상 설명하려고 하니 너무 힘드네
D1. RPD and Rap Sheet (Easy Version)
Problem - D1 - Codeforces
codeforces.com
n번만에 0~n-1까지의 값 중 하나를 찾으라는 건데 항상 가지고 있는 숫자가 문제에 나온 것처럼 바뀌어 나타난다.
그러므로 우리는 0~n-1까지의 값을 다 나타내기 위해 n-1부터 시작해서 (n-1)^x=n-2인 x의 값을 출력하면 된다는 거다.
x의 값은 쉽게 구할 수 있다. 우리는 임의의 자연수 t가 t^t=1이 성립된다는 것을 아니 이를 응용해보자.
양변에 ^(n-1)을 해주면
(n-1)^x^(n-1)=(n-2)^(n-1)
(n-1)^(n-1)^x=(n-2)^(n-1)
x=(n-2)^(n-1) 이 된다.
그러므로 i=n-1부터 시작해서 (i-1)^i의 값을 출력하면 된다.
43분 AC.
이걸 왜 뇌절했는지 아직도 이해가 안간다.
C는 풀이는 맞았지만, 실수오차 때문에 뇌절하다가 끝나버렸다(...)
업솔빙 하면 올릴 예정이다.
'Contest > Codeforces' 카테고리의 다른 글
[버추얼 매일 돌리기 프로젝트 #8] Codeforces Round #473 (Div. 2) (1) | 2021.07.10 |
---|---|
[버추얼 매일 돌리기 프로젝트 #7] Codeforces Round #538 (Div. 2) (0) | 2021.07.09 |
[코포 라운드 글 #3] Educational Codeforces Round 104 (Rated for Div. 2) (0) | 2021.02.18 |
[버추얼 매일 돌리기 프로젝트 #6] Codeforces Round #496 (Div. 3) (1) | 2021.02.15 |
[버추얼 매일 돌리기 프로젝트 #5] Codeforces Round #547 (Div. 3) (0) | 2021.02.14 |