对于STL的优先队列 priority_queue来说
如果你定义:
priority_queue< int >q;
那么它将是一个大根堆。
如果定义
priority_queue< int , vector<int>, less<int> >q;
那么它也是一个大根堆。
如果定义
priority_queue<int, vector<int> , greater<int> >q;
那么它就是一个小根堆。。
我怎么这么傻逼啊!!这么重要的事情现在才意识到。
lower_bound(begin,end,x)是用来在[begin,end)中查大于等于 x的第一个位置的指针的
upper_bound(begin,end,x)是用来在[begin,end)中查大于 x的第一个位置的指针的