跟gxy大神还有yzh大神学了学手写的堆,应该比stl的优先队列快很多。
其实就是维护了一个二叉堆,写进结构体里,就没啥了。。。 据说达哥去年NOIP靠这个暴力多骗了分合并果子。。。
1 templatestruct heap{ //小根堆 2 T q[mxn<<2];int sz; 3 heap(){sz=0;} 4 inline void push(T x){ 5 q[++sz]=x; 6 for(int i=sz,j=i>>1;j;i=j,j>>=1) 7 if(q[i] h1,h2;