✏️ 문제 링크 https://www.acmicpc.net/problem/14621 14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주어진다. 다음 M개의 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 최소 신장 트리를 구현하는 문제입니다. 기본적인 MST구현 알고리즘에서 조건을 1가지만 추가하면 됩니다. 기존의 MST는 부모 노드가 다르다면 Union을 하지만, 위 문제는 남초대학교와 여초대학교라는 조건이 있습니다. 따라서, Union을 하기 위해서는 두 노드의 학교 성별이 달라야 하고 부모 노드가 달라야..
✏️ 문제 링크 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는 사용한 에지의 개수가 정점의 개수 - 1만큼 될 때가지반복문을 돌려야 하지만 위 문제의 경우에는 연결하지 않아도 되는 발전소의 개수가 주어지기 때문에 에지의 개수가 N-K가 될 때까지만 반복문을 돌..
Algorithm 공부 #18 - 그래프(최소 신장 트리) 최소 신장 트리(minimum spanning tree) ● 그래프에서 모든 노드를 연결할 때 사용한 에지들의 가중치의 합을 최소로 하는 트리 ● 사이클이 포함되면 최소 가중치를 계산할 수 없으므로 사이클을 포함시키지 않는다 ● N개의 노드가 있으면 최소 신장 트리를 구성하는 에지의 개수는 N-1개 ● 최소 신장 트리 구현 방법 1. 에지 중심으로 저장하므로 에지 리스트로 그래프 표현, 사이클 표현을 위해 유니온 파인드도 함께 사용 2. 그래프를 가중치를 기준으로 오름차순 정렬 3. 가중치가 낮은 에지부터 연결하기(이때 바로 연결하지 않고 두 노드의 사이클 여부를 판단해야 함) 4. 사이클이 생성되지 않는다면 두 노드를 연결, 사이클이 생기면 연..
- Total
- Today
- Yesterday
- 스택
- 유클리드 호제법
- DFS
- 자바스크립트
- java
- 알고리즘
- 자료구조
- DP
- 이분 매칭
- C++
- 백준 풀이
- 에라토스테네스의 체
- 백준
- 카운팅 정렬
- js
- 유니온 파인드
- 투 포인터
- HTML5
- CSS
- Do it!
- BFS
- 반복문
- c++ string
- 스프링 부트 crud 게시판 구현
- 세그먼트 트리
- 우선순위 큐
- html
- 알고리즘 공부
- C++ Stack
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |