티스토리 뷰
BOJ 9323 - 무임승차
https://www.acmicpc.net/problem/9323
기차를 탈 때 티켓 요금과 무임승차 벌금을 고려하여 출발지에서 도착지까지의 최소 기댓값을 구하는 문제.
풀이:
더보기
우선, n개의 도시를 거치는 표를 사는 것을 마치 n-1개의 독립적인 표를 사되, 첫 도시에서만 s원을 내야 하는 것처럼 생각할 수 있다. 이렇게 생각하게 되면 아래와 같은 점화식을 뽑을 수 있다.
dp[i][0] = i번 노드까지 도착했고, 여기서 출발하며 표를 산다면 s원을 안내도 됨
dp[i][1] = i번 노드까지 도착했고, 여기서 출발하며 표를 산다면 s원을 내도 됨
그 후에는 이제 n*2개의 노드 위에서 다익스트라를 돌리면 된다. 표를 사는 간선이라면 두번째 차원이 0인 곳으로 가는 것이고, 표를 사지 않는 간선이라면 두번째 차원이 1인 위치로 가는 것이다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- dp
- subarray
- merge sort tree
- fenwick
- offline
- segtree
- range query
- line sweeping
- induction
- 문자열 알고리즘
- offline query
- 비둘기집의 원리
- Counting
- bitmask
- tree
- 트라이
- sqrt decomposition
- 기하
- subsequence
- GREEDY
- 규칙찾기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함