728x90
https://www.acmicpc.net/problem/11279
11279번: 최대 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가
www.acmicpc.net
> 힙 활용

힙을 활용한 다익스트라 알고리즘 구현에서 최대 힙과 최소 힙을 구현해보았었다. 해당 문제는 최대힙을 활용해 풀 수 있었다.
힙은 요소를 꺼낼때 가장 작은 값부터 뽑아온다. 이를 활용하여 가장 큰값부터 뽑아오게 하기 위해 요소에 -를 붙여서 가장 큰값을 가장 작은 값으로 변환하여 힙에 넣고 뺄 때는 -부호를 다시 붙여서 양수로 뽑히게끔 만들었다.

728x90
'python > 알고리즘 문제풀이' 카테고리의 다른 글
| 위상정렬 (1) | 2021.07.23 |
|---|---|
| [백준 | 파이썬3] 1260. DFS와 BFS (2) | 2021.07.22 |
| [백준 | 파이썬3] 1753. 최단경로- 다익스트라/ 런타임에러 input() vs stdin.readline (2) | 2021.07.18 |
| 최소신장트리, 크루스칼 알고리즘 (1) | 2021.07.16 |
| [백준 | 파이썬3] 9184 신나는 함수실행- 동적계획법 (0) | 2021.07.16 |