一、关于读入优化
不得不说,读入优化在大规模读入的时候有很大的优势。
这种情况下,读入优化可以节省大约400ms
。
读入优化按字符读入,之后转化为十进制。
二、模板
模板A:(int a=read();)
int read(){
int x=0,flag=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') flag=-1;ch=getchar();}
//等价于 ch<'0'||ch>'9'
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
//等价于ch>='0'&&ch<='9'
//x=(x<<3)+(x<<1)+(ch^48)可替换为 x=x*10+ch-'0'
return x*flag;
}
模板B:(int a;read(a);)
void read(int &x){
int flag=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') flag=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
x*=flag;
}