特殊代码使用(自用)

测试数据是否越界。

struct node{
    int & operator[](int idx){
        if(idx>=maxn||idx<0)while(1);
        return a[idx];
    }
    int operator[](int idx)const{
        if(idx>=maxn||idx<0)while(1);
        return a[idx];
    }
    int a[maxn];
}lson,rson,va,dis,fa;

扩栈

	int size = 512 << 20; // 512MB
    char *p = (char*)malloc(size) + size;
    __asm__("movl %0, %%esp\n" :: "r"(p));

读入挂

int read(){ 
	int ans=0; char last=' ',ch=getchar();
	while(ch<'0' || ch>'9')last=ch,ch=getchar();
	while(ch>='0' && ch<='9')ans=ans*10+ch-'0',ch=getchar();
	if(last=='-')ans=-ans; return ans;
}
#define G if(++ip==ie)if(fread(ip=buf,1,SZ,stdin))
#define ri register int
const int SZ=1<<19;
char buf[SZ],*ie=buf+SZ,*ip=ie-1;
inline int read(){
    G;while(*ip<'-')G;
    ri x=*ip&15;G;
    while(*ip>'-'){x*=10;x+=*ip&15;G;}
    return x;
}

输出挂

inline void write(int x) { 
    if (x < 0) putchar('-'), x = -x;
    if (x > 9) write(x / 10);
    putchar(x % 10 + '0');
}

随机数种子

srand((ll)time(NULL));

小顶堆

priority_queue<int, vector<int>, greater<int> > q;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值