2018. 9. 12. 15:49, 알고리즘/Codeforces
http://codeforces.com/contest/1038
육목 만드느라 정신이 나가있어서 이제야 글을 쓰네요. 최근 4개 5개 라운드에서 계속 시스텟이 터져서 이번에는 안그랬으면 좋겠다 싶었습니다.
A - Equality (Code)
각 문자가 등장한 횟수의 min을 구하면 됩니다.
B - Non-Coprime Equation (Code)
N이 2 이하이면 불가능하고, N이 3 이상일 경우 N을 홀짝으로 나누어 생각합니다. N이 홀수이면 N과 나머지로 분리, N이 짝수이면 N/2와 나머지로 분리하면 됩니다.
C - Gambling (Code)
Greedy하게 나의 것, 상대의 것을 가리지 않고 가장 큰 원소를 가지거나 버리는 식으로 하면 됩니다. 두 사람이 모든 수의 절반씩만 가지고 있다고 생각하면 해당 Greedy 알고리즘의 정당성을 증명할 수 있습니다.
D - Slime (Code)
모든 슬라임이 +이거나 -인 경우를 제외한 다른 모든 +, - 조합을 만들어낼 수 있기 때문에 음수는 빼고 양수는 더해주는 방식으로 최대한 크게 만들면 됩니다. 모두 양수일 때 / 음수일 때 / N = 1일 때 등에 대한 예외처리를 잘 해두어야 합니다.
D에서 해당 성질을 막연하게 짐작은 했지만 확신이 들지 않아 조금 시간이 지체된 것을 제외하고는 잘 풀어냈습니다. E를 못 푼 것은 아쉽습니다.
'알고리즘 > Codeforces' 카테고리의 다른 글
[Codeforces] Round #511 (Div. 1) (0) | 2018.09.22 |
---|---|
[Codeforces] Round #509 (0) | 2018.09.19 |
[Codeforces] Educational Round 50 (0) | 2018.09.13 |
[Codeforces] Round #507 (0) | 2018.09.07 |
[Codeforces] AIM Tech Round 5 (0) | 2018.09.03 |
[Codeforces] Round #505 (0) | 2018.08.20 |
Comments