백준 22886, Moons and Umbrellas
개요 문제 링크 골드 5, DP, Greedy CJ 또는 JC가 나타날 때마다 X,Y의 비용을 지불할 때 비용의 최솟값 구하기 접근 DP의 정석같은 문제, 끝이 C, J일때를 기준으로 DP를 돌리면 된다. 만약 현재 끝이 J라면 min(이전J, 이전C+CJ), 끝이 C라면 min(이전C, 이전J+JC)를 해주면 된다. 끝이 ?라면 각각 C, J일때에 대해 각각 생각해주면 된다. 문제가 헷갈리는 부분은 두가지인데, 문제를 그리디하게 생각해버리면서 생긴다. 그런데 완탐을 해도 문제가 없고 그리디로 생각하면 한없이 복잡해진다. 먼저 x나 y가 양수라는 가정하에는 C만 계속 연속되거나 J만 계속 연속되는 것이 이득이라 생각할 수 있다. 그래서 그리디로 접근할 수 있는데 그럴 필요가 없다. CJ또는 JC를 번갈아..
2023. 7. 16.
백준 24466, 도피
개요 문제 링크 골드4, DP 각 정점간 이동의 확률이 주어졌을 때, 9번 이동 후 가장 가능성 높은 도착 위치와 확률 구하기 접근 재밌는 문제다. 이게 소수점 18자리 출력 문제는 웬만하면 없고 대부분 6자리, 9자리 정도라서 실수하기 좋은데, 함정은 9번 이동이다. 9번이동을 하면 소수가 아닌 long long으로 처리할 수 있는데, 아래 예시를 보자 2 2 0 1 p 1 0 p 0, 1, 0, 1을 9번 왔다갔다 하게 된다. 최종 최대 확률은 (p/100)^9이 될텐데, 여기에 100^9=1e18을 곱해버리면 p^9이 되고, 이게 10^18이라면 1.+(0 18개), 아니라면 0.(p^9) 을 출력해버리면 된다. 이때 p^9이 1e18이하라서 long long 범위로 커버가 된다. 그럼 나머지는 인..
2023. 3. 28.