티스토리 뷰
제공되는 priority queue 를 사용하는 대신 Min Heap 을 직접 구현해서 최단 경로 문제를 풀어보았다.
문제 링크 : https://www.acmicpc.net/problem/1916
1916번: 최소비용 구하기
첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그
www.acmicpc.net
pos 배열은 정점의 번호를 heap 내부의 위치로 바꾸어 준다.
x=pos[id];
이 코드는 id 정점이 heap 의 x 위치에 해당된다는 뜻이다.
pos 에 대해 일종의 역함수인 rev 배열은 heap 의 위치에 대응되는 정점의 번호를 되돌려준다.
속도 면에서는 priority queue 보다 늦을 리는 없지만 구현이 지저분하다.
간결하게 만들도록 고민해 볼 것!
반응형
'DS\Algo' 카테고리의 다른 글
BOJ 13537 수열과 쿼리 1 (오프 라인 쿼리 version) (0) | 2022.08.17 |
---|---|
BOJ 2208 보석줍기 (0) | 2022.08.16 |
BOJ 2517 달리기 (0) | 2022.07.30 |
BOJ 11377 열혈강호 3 (0) | 2022.07.29 |
BOJ 6549 히스토그램에서 가장 큰 직사각형 (0) | 2022.07.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- bash script
- number theory
- lazy propagation
- JavaScript
- Shell Programming
- RUBY
- shell
- C++ big number
- Reference
- 세그먼트 트리
- segment tree
- Aho-Corasick
- dynamic programming
- persistent segment tree
- fenwick tree
- javascript array
- max flow
- bash
- python3
- Vim
- stack
- 백준
- Dijkstra
- 다익스트라
- BOJ
- map
- 정수론
- script
- nearest common ancestor
- math font
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함