문제: 7662번: 이중 우선순위 큐 (acmicpc.net)
이런저런 생각해보다가
max heap , min heap + dict 이용해서 풀었는데 (찾아보니 heap 2개 쓰는 것이 일반적인 풀이인 것 같긴 합니다.)
혹시 heap 한 개 or 적당한 트리 자료구조 한 개로 푸는 방법이 있는지가 궁금합니다.
그냥 우선순위 꼴등을 추출하는 기능 하나를 추가해주기 위해서 공간복잡도가 두 배를 넘는 것은 뭔가.. 아쉽네요 ㅠㅠ
( 제 풀이 코드 : http://boj.kr/edf2e468368545de973f111321ecdc45 --> 주석은 이런저런 생각 드는 것들을 쓰고 지우고 한 것이니 무시하시면 됩니다..!)
트리맵 날먹 가능인데 파이썬이면 머.. - dc App
흠... 제가 가장 먼저 떠올렸던 풀이는 리스트나 클래스 등으로 힙을 적당히 구현한 뒤 변형해서 "항상 마지막 인덱스에 우선순위 꼴등이 오도록" 하는 것이었는데 이게 하다보니 자꾸 반례가 생기더라구요.. 트리맵 구현 방법을 찾아보면 도움이 될까요?
https://en.m.wikipedia.org/wiki/Min-max_heap
dynamic segment tree
안되네...
그냥 적당한 자가균형 이진탐색트리여도 됩니다 C++기준 multiset같은거