보라로 올라간 이후 처음으로 치룬 라운드입니다. 그리고 파랑색으로 강등됐습니다 ㅠ_ㅠ A < B < C <<< D = E = F << G 인 느낌이었습니다.
A - Check the string
시킨대로 짜면 됩니다. a -> b -> c 순이어야 한다는 조건에 주의해야합니다. 다른 사람들의 코드를 보니 정렬을 이용해서 순서가 맞는지를 확인하는 코드가 있었는데 괜찮은 방법인 것 같습니다.
https://github.com/blisstoner/Codeforces/blob/master/Round%20474/A.cpp
B - Minimize the error
Greedy하게 에러가 가장 큰 것을 찾아 에러를 줄이는 방식으로 해결하면 됩니다. Priority Queue를 이용하면 O(NlgN)에 풀 수 있고 N이 작아 저는 그냥 정렬을 이용한 O(N^2lgN)짜리 풀이로 해결했습니다.
https://github.com/blisstoner/Codeforces/blob/master/Round%20474/B.cpp
C - Subsequence Counting
$i$개의 같은 수가 있으면 $2^i - 1$개의 subsequence를 얻을 수 있으므로 그냥 Greedy하게 선택하면 끝입니다. 그런데 수열의 수가 같아도 되는걸 lock을 한 후에 깨달아서 C를 그대로 날려먹었습니다ㅠㅠ
https://github.com/blisstoner/Codeforces/blob/master/Round%20474/C.cpp
C를 날려먹음으로 인해 깔끔하게 조졌습니다. 또 D / E/ F 중에 어느 한 문제도 풀어내지 못한 것도 아쉽습니다. F를 붙잡았는데 잘 안떠올라서ㅠㅠ 이틀 뒤에 있는 라운드에서 다시 퍼플로 올라서야겠습니다ㅠㅠ 그래도 A, B를 나름대로 빠른 시간에 풀어낸 것은 만족스럽습니다.
'알고리즘 > Codeforces' 카테고리의 다른 글
[Codeforces] Round #476 (0) | 2018.05.15 |
---|---|
[Codeforces] Round #475 (Div. 2) (0) | 2018.04.21 |
[Codeforces] Educational Codeforces Round 42 (0) | 2018.04.21 |
[Codeforces] Educational Codeforces Round 38 (0) | 2018.02.18 |
[Codeforces] Round #462 (Div. 1 + Div. 2) (0) | 2018.02.16 |
[Codeforces] Educational Codeforces Round 37 (0) | 2018.02.04 |