Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

jay153의 PS 일지

CodeForces Educational Round 178 본문

CodeForces

CodeForces Educational Round 178

jay153 2025. 5. 19. 15:30

https://codeforces.com/contest/2104

 

 

Performance Rating : 2250

 

A

$a$, $b$, $c$ 중 $b>\frac{a+b+c}{3}$이거나 $a+b+c\;\mathrm{mod}\; 3\neq 0$이면 불가능하다.

 

B

마지막 $k-1$개는 무조건 들어갈 수밖에 없으므로 뒤에 $k-1$개의 원소의 합과 multiset을 활용해 나머지 숫자 중 최댓값을 더해 답을 구했다.

 

C

$1$이 쓰인 카드와 $n$이 쓰인 카드를 모두 가지게 되면 다른 카드와 관계없이 이긴다는 것을 관찰했다. $1$과 $n$이 같은 사람에게 있으면 둘 다 가지고 있는 사람을 출력했다. 그 후 $0$을 Bob이 가지고 있다면 $n-1$을 Bob이 가지고 있으면 $n$은 $0$으로, 나머지는 $n-1$로 대응하면 되지만 $n-1$이 Alice에게 있다면 $n-1$을 대처할 수 없으므로 Alice가 이긴다. $n$을 Bob이 가지고 있다면 Bob이 $n$을 제외한 카드를 하나라도 가지고 있다면 $0$에 대응이 가능하므로 이기고 아니라면 진다.

 

D

모든 숫자를 소수로 만드는 것이 이득이라는 것을 관찰했다. 또한 $a$의 숫자 중 큰 것부터 사용해야 최대한 많은 개수를 사용할 수 있겠다는 생각을 하여 $a$를 내림차순 정렬한 뒤 우선 에라토스테네스의 체로 소수를 모두 구해놓고 $a_1+\cdots+a_k\geq p_1+\cdots+p_k$인 $k$의 최댓값을 통해 답을 찾았다. 처음에 소수의 개수를 너무 적게 잡아 WA를 한번 받았다.

 

E

그리디 문자열 매칭이라는 생각이 바로 들었다. $i$번 인덱스보다 큰 인덱스 중 $j$번째 알파벳의 가장 작은 인덱스를 $nxt[i][j]$에 저장해두고 $dp[i]$에는 $i$번 인덱스 이후 문자열에 대해 그 문자열의 부분문자열이 아닌 가장 짧은 문자열의 길이를 저장해 두었다. 이후 $t$마다 매칭을 시킨 뒤 $dp$로 구해놓은 값을 출력하였다.

'CodeForces' 카테고리의 다른 글

CodeForces Round 1021 - Div 1  (0) 2025.05.19
CodeForces Round 939 - Div 2  (0) 2025.05.15
CodeForces Round 1018 - Div 1.5  (0) 2025.05.14
CodeForces Round 1016 - Div 3  (0) 2025.05.14
CodeForces Round 1015 - Div 1.5  (0) 2025.05.13