https://www.acmicpc.net/problem/21924 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net kruskal 로 mst 만들면 된다. mst 가 만들어지는 조건은 ( 간선의 갯수 = 노드의 갯수 - 1 ). kruskal 을 돌렸는데 위 조건이 만족되지 않는다면 -1 출력한다.
https://www.acmicpc.net/problem/10423 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net 크루스칼로 mst 를 만들면 되는데 조금 다르다. 이 문제에서는 발전소가 있는 노드가 있고, 모든 마을은 단 하나의 발전소에만 연결되어야 한다. 따라서 여러개의 mst 가 만들어진다. 해결방법은 union 가능 여부를 크루스칼 알고리즘에서는 부모 노드가 다르면 union 가능하다고 보는데, 이 문제에서는 부모를 발전소로하고, 두 노드의 부모를 비교해서 부..
- Total
- Today
- Yesterday
- CSS
- two pointer
- greedy
- C
- floyd warshall
- graph
- db
- 자료구조
- 재귀
- Brute Force
- back tracking
- BFS
- Kruskal
- 조합
- Dijkstra
- priority queue
- MVC
- binary search
- DP
- Python
- dfs
- Stack
- permutation
- Spring
- Unity
- 이분탐색
- Tree
- C++
- recursion
- Implementation
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |