목록2025/02/28 (3)
jay153의 PS 일지
https://www.acmicpc.net/problem/28059 코드http://boj.kr/e459a94c63ce440d97b82cb50426bec6 2023 KAIST RUN Spring Contest G 난이도 : D4 Elapse Time : 60min 문제를 보고 한 첫 번째 추측은 $s$에서 최댓값을 남겨놓고 마지막에 사용하는 것이 이득일 것 같다는 것이었다. 최댓값을 제외한 $n-1$개의 수로 최대한 작은 숫자를 만들어놓고 최댓값과 마지막에 묶어주는 전략을 세웠다. 예제를 분석하면서 한 두 번째 추측은 $n-1$개의 수 중 몇 개를 골라 두 그룹으로 나누는 모든 경우 각 그룹의 숫자 합의 차 중 최솟값을 만들 수 있을 것 같다는 것이었다. 두 번째 추측이 맞다면 최댓값 대신 다른 수를 ..
https://www.acmicpc.net/problem/1635 코드http://boj.kr/33d5f3fa46b445aeb0c5ad76a78e0ab1 난이도 : P5 Elapse Time : 10min 처음에는 주어진 $M$개의 수열에 맞춰서 $N$개의 수열을 만들 생각을 해보았지만 수열의 가짓수가 너무 많고 예외 처리를 많이 해주어야 할 것 같아 다른 방법을 생각해 보기로 했다. 우선 조건을 더 강하게 바꿔서 어떤 수열이 주어지든 $N$개 중 하나의 수열을 곱했을 때 수열값이 0이 되게 만들 수 있는지를 생각해 보았다. $N$개가 제한이므로 전체가 1인 수열에서 앞에서부터 $k(0\leq k\leq N-1)$개 까지의 수가 -1인 $N$개의 수열을 준비하면 어떻게 될지 먼저 생각해보았다. 전체 다 ..
https://codeforces.com/contest/2070 Performance Rating : 2300 A$0$이상 $n$이하의 수 중 나머지가 0, 1, 2인 수의 개수를 찾는 문제였다. $(n/15)*3+\mathrm{min}(n\%15+1,3)$을 출력해 주면 된다. B$x$에서 시작하여 시뮬레이션을 해서 0에서 만나면 끝내주고 0과 만나지 않는다면 0을 출력해 주고 끝낸다. 0에서 시작하는 것으로 시뮬레이션을 다시 해줘야 하는데 이후 0에서 0과 만나기까지 이동한 횟수를 주기로 반복되므로 이를 바탕으로 계산해 주면 되고 안 만나면 그대로 끝내주면 된다. 여기서 0과 만나면 남은 횟수를 주기로 나누고 더해주고 반복문을 종료해주어야 하는데 종료를 안 했다가 WA를 한번 받았다. C처음에 문제..