Description
Solution
一种神奇的做法:开一个大根堆和小根堆,保证大根堆比小根堆多1个元素,且大根堆堆顶元素比小根堆堆顶元素小,那么大根堆堆顶就是中位数。插入的时候用交换堆顶元素的方法维护一下这个性质就行。
Code
#include#include const int N = 100010;int n, a[N];std::priority_queue big;std::priority_queue
本文共 736 字,大约阅读时间需要 2 分钟。
一种神奇的做法:开一个大根堆和小根堆,保证大根堆比小根堆多1个元素,且大根堆堆顶元素比小根堆堆顶元素小,那么大根堆堆顶就是中位数。插入的时候用交换堆顶元素的方法维护一下这个性质就行。
#include#include const int N = 100010;int n, a[N];std::priority_queue big;std::priority_queue
转载于:https://www.cnblogs.com/wyxwyx/p/lg1168.html