标签:ret struct top reg line 系统 class inline turn
(搭配手写swap)
系统自带的常数很大。
il void swap(int &x,int &y){x^=y^=x^=y;}
struct Heap
{
int f[Maxn*20],tot;
inline int top() {return f[1];}
inline int size() {return tot;}
inline void clear() {tot=0; return;}
inline void push(Reg int x)
{
f[++tot]=x;
for(Reg int i=tot;i;i>>=1)
if((i>>1)>=1&&f[i>>1]>f[i]) swap(f[i>>1],f[i]);
return;
}
inline void pop()
{
f[1]=f[tot--];
for(Reg int i=1,p;i<=tot;)
{
p=i<<1; if(p>tot) break;
if((p|1)<=tot&&f[p|1]<f[p]) p|=1;
if(f[p]<f[i]) swap(f[p],f[i]);
else break; i=p;
}
return;
}
} q;
标签:ret struct top reg line 系统 class inline turn
原文地址:https://www.cnblogs.com/seamtn/p/11366396.html