快速读入read()

当读入数据比较大时,读入优化的效果是很明显的。一般当数据较大时,cin自然就不用,改用scanf,但当数据更大时,建议用快读。

void read(int &x){        //这里x是整数,int,ll都可
    int f=1;x=0;char s = getchar();  //f表示符号
    while(s<'0' || s>'9'){if (s=='-')f = -1;s = getchar();}
    while(s>='0' && s<='9'){x = x*10+s-'0';s=getchar();}
    x *= f;
}

其实。。说真的,乍一眼看过去,我真不觉得快,读一个数都要判断不知道多少次,判断是很费时的啊,虽然getchar是快。但用这个就是挺快。

cin优化

加上这个,和scanf一样快了。这是取消cin和scanf同步的作用。

std::ios::sync_with_stdio(false);

手动吸氧

O2优化能使程序的编译效率大大提升

#pragma GCC optimize(2)

0 条评论

发表评论

邮箱地址不会被公开。