快速读入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 条评论