- Today
- 68
- Total
- 244,424
Notice
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Archives
- 2022/08 (1)
- 2022/07 (1)
- 2022/06 (8)
- 2022/05 (5)
- 2022/04 (11)
- 2022/03 (11)
- 2022/02 (1)
- 2022/01 (2)
- 2021/11 (2)
- 2021/10 (2)
- 2021/09 (4)
- 2021/02 (1)
- 2020/07 (1)
- 2020/06 (6)
- 2020/05 (5)
- 2020/04 (5)
- 2020/03 (5)
- 2020/02 (6)
- 2020/01 (6)
- 2019/12 (7)
- 2019/11 (8)
- 2019/09 (7)
- 2019/06 (2)
- 2019/05 (6)
- 2019/04 (4)
- 2019/03 (8)
- 2019/02 (5)
- 2019/01 (2)
- 2018/11 (7)
- 2018/10 (10)
Joonas' Note
BOJ 3640 - 제독 본문
링크: https://www.acmicpc.net/problem/3640
문제
가중치가 있는 방향 그래프가 주어지고, 1번 정점에서 V번 정점까지 서로 겹치지 않는 2개의 경로 중 비용이 최소인 경우를 출력하는 문제이다.
겹치지 않는 경로를 찾는 것은 최대 유량으로 해결 가능하고, 그 비용이 최소가 되는 것을 구해야하므로, 네트워크 플로우 유형 중에서 MCMF(Min Cost Max Flow; 최소 비용 최대 유량)인 문제이다.
그래프 문제는 항상 문제 조건을 꼼꼼히 살펴야겠다.
이번에도 "출발과 목적지를 제외하고 같은 중간 지점이나 같은 뱃길을 지나면 안 된다." 에서 정점이 겹쳐서는 안되는 조건을 깜빡해서 계속 틀렸다.
이 조건을 무시하면 틀리는 예외 케이스는 아래와 같다.
최대 유량은 1개이고, 답은 4.
5 6
1 2 5
1 3 2
2 3 3
3 4 4
3 5 2
4 5 3
정점이 겹치면 안되므로, 정점을 분할하여 해결하면 된다.
코드
반응형
'알고리즘 > 문제 풀이' 카테고리의 다른 글
BOJ 11012 - Egg (1) | 2020.06.10 |
---|---|
[코딩으로 풀어보기] 95화 4번, 1~9까지 숫자로 식을 성립시켜라. (0) | 2020.06.10 |
BOJ 3640 - 제독 (0) | 2020.05.24 |
BOJ 15480 - LCA와 쿼리 (0) | 2020.05.15 |
BOJ 9034 - 순위 (0) | 2020.05.01 |
BOJ 1539 - 이진 검색 트리 (4) | 2020.04.17 |
0 Comments