[백준] 19580 마스크가 필요해


[백준] 19580 마스크가 필요해

이 문제와 동일한 그리디가 성립하는 문제이다(아니 사실 같은 문제라고 봐도 무방하다.). L, R 이 있다면 R이 작은순으로 정렬 한 후, 정렬된 순서대로 살수 있는 것 중 가장 작은 가격의 마스크를 사는게 최적이다. 나는 좌표압축 + 펜윅트리를 써서 느리게 풀었는데, 좌표압축 없이 우선순위큐로도 푸는게 정해다. 우선순위 큐 사람과 마스크를 모두 오름차순 정렬한다. 사람은 L에대해 마스크는 P에 대해이다. 우선순위 큐는 최소힙을 사용한다. 마스크를 1부터 M까지 보면서 현재 마스크 가격에 대해 현재 사람의 L이 더 작다면 우선순위 큐에 사람의 R을 추가한다. 우선순위큐에 있는건 R들이므로 R < 마스크 가격이라면 모두 빼준다. 이..........

[백준] 19580 마스크가 필요해에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [백준] 19580 마스크가 필요해