✏️ 문제 링크 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가 될 때까지만 반복문을 돌..
✏️ 문제 링크 https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net ✏️ 문제 설명 ✏️ 문제 풀이 먼저 주어진 좌표들을 이용해서 bfs를 돌려서 각 섬의 영역들을 정해줍니다. 그러면 예제입력의 경우에는 총 섬이 3덩어리로 나눠지게 됩니다. 그 다음, 각 섬들의 영역에서 bfs로 돌려서 다른 섬으로 갈 수 있는 다리들의 최솟값을 구해줍니다. 자세한 bfs조건들은 아래 코드를 봐주세요 ✏️ 문제 코드 #include #include #include usi..
Algorithm 공부 #18 - 그래프(최소 신장 트리) 최소 신장 트리(minimum spanning tree) ● 그래프에서 모든 노드를 연결할 때 사용한 에지들의 가중치의 합을 최소로 하는 트리 ● 사이클이 포함되면 최소 가중치를 계산할 수 없으므로 사이클을 포함시키지 않는다 ● N개의 노드가 있으면 최소 신장 트리를 구성하는 에지의 개수는 N-1개 ● 최소 신장 트리 구현 방법 1. 에지 중심으로 저장하므로 에지 리스트로 그래프 표현, 사이클 표현을 위해 유니온 파인드도 함께 사용 2. 그래프를 가중치를 기준으로 오름차순 정렬 3. 가중치가 낮은 에지부터 연결하기(이때 바로 연결하지 않고 두 노드의 사이클 여부를 판단해야 함) 4. 사이클이 생성되지 않는다면 두 노드를 연결, 사이클이 생기면 연..
- Total
- Today
- Yesterday
- 스택
- 이분 매칭
- 자료구조
- 백준 풀이
- c++ string
- DP
- 에라토스테네스의 체
- 세그먼트 트리
- DFS
- 투 포인터
- 반복문
- CSS
- BFS
- 스프링 부트 crud 게시판 구현
- 유니온 파인드
- C++ Stack
- C++
- 카운팅 정렬
- 우선순위 큐
- HTML5
- Do it!
- 백준
- html
- java
- 자바스크립트
- js
- 알고리즘
- 유클리드 호제법
- 자바
- 알고리즘 공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |