일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- DP
- 누적합
- 이분 탐색
- 구간합
- 16985
- golang
- 맥주 축제
- SWEA
- dfs
- 백준
- BOJ
- redis
- 점수 따먹기
- 세그먼트 트리
- NCP
- 11659
- mongodb
- 크루스칼
- 21921
- mst
- c++
- 민준이와 마산 그리고 건우
- Naver Cloud
- 시뮬레이션
- 구현
- 최소신장트리
- 17503
- gorilla/mux
- 다익스트라
- Today
- Total
목록다익스트라 (3)
Gi-Log
문제 링크: https://www.acmicpc.net/problem/18223 18223번: 민준이와 마산 그리고 건우 입력의 첫 번째 줄에 정점의 개수 V와 간선의 개수 E, 그리고 건우가 위치한 정점 P가 주어진다. (2 ≤ V ≤ 5,000, 1 ≤ E ≤ 10,000, 1 ≤ P ≤ V) 두 번째 줄부터 E개의 줄에 걸쳐 각 간선의 정보 www.acmicpc.net 풀이에 이용된 알고리즘: 최단거리, 다익스트라 집까지 가는 최단 경로를 찾는 것인데, 가는 중에 건우라는 친구를 도와줄만하면 도와주고, 좀 그렇다(?) 싶으면 버리는 문제이다! 시작점을 1, 도착지 마산을 v, 건우가 있는 곳을 p라고 하자. dist[i][j]를 노드 i에서 j까지의 최단 거리라고 할 때 dist[1][p] + di..
문제 링크: https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 풀이에 이용된 알고리즘: 다익스트라 굉장히 간단한 최단 경로 문제였다. 버스 노선은 곧 간선을 의미한다. 이 때 버스가 양방향 통행이 가능하다는 말이 없으므로, 양방향 간선이 아니라 방향성이 있는 것으로 생각해야 한다. 최단 경로를 구하기 위해서, 다익스트라나 플로이드 알고리즘을 생각할 수 있는데 플로이드 알고리즘은 N^3의 시간복잡도를 갖는다...
문제 링크: https://www.acmicpc.net/problem/13911 13911번: 집 구하기 첫줄에는 정점의 개수 V(3 ≤ V ≤ 10,000)와 도로의 개수 E(0 ≤ E ≤ 300,000)가 주어진다. 그 다음 E줄에 걸쳐 각 도로를 나타내는 세 개의 정수 (u,v,w)가 순서대로 주어진다. 이는 u와 v(1 ≤ u,v ≤ V)사 www.acmicpc.net 문제 풀이에 사용된 알고리즘: 다익스트라, 최단 경로, 더미 노드 문제에서 제시하는 조건(맥세권인지, 스세권인지)를 만족하는 정점(집)들 중에서, (맥도날드까지의 거리) + (스타벅스까지의 거리)가 작은 수치를 보이는 집을 찾는 문제이다. 우선 노드의 수가 굉장히 많고, 인접 행렬이 아닌 간선 형태의 인접 리스트가 주어지기 때문에 ..