[转载] 管Q某犇借的手写堆
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                [转载] 管Q某犇借的手写堆
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                跟gxy大神還有yzh大神學(xué)了學(xué)手寫的堆,應(yīng)該比stl的優(yōu)先隊列快很多。?
其實就是維護了一個二叉堆,寫進結(jié)構(gòu)體里,就沒啥了。。。?
據(jù)說達哥去年NOIP靠這個暴力多騙了分
合并果子。。。
1 template<class T> struct 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]<q[j]) swap(q[i],q[j]); 8 else break; 9 } 10 inline void pop(){ 11 q[1]=q[sz--]; 12 for(int i=1,j=i<<1;j<=sz;i=j,j=i<<1){ 13 if((j|1)<=sz&&q[j|1]<q[j]) j|=1; 14 if(q[j]<q[i]) swap(q[i],q[j]); 15 else break; 16 } 17 } 18 inline const T top(){return q[1];} 19 }; 20 heap<data> h1,h2; View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/liutianrui/p/7778947.html
總結(jié)
以上是生活随笔為你收集整理的[转载] 管Q某犇借的手写堆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 离线在CentOS上安装CDH
- 下一篇: Java简单多线程断点下载
