快读

整型快读

就是简单的普通快读, 读int类型
getchar()就是将数字当字符读取,比scanf快
w就是用来判断数字是不是负号,
如果想的话可以再压一下行
如果读懂了很快就能自己打出来

inline void read(int &x){
   int s = 0, w = 1; char ch = getchar();
   while(ch < '0' || ch > '9'){ if(ch == '-') w = -1; ch = getchar(); }
   while(ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
   x = s*w;
   return ;
}

字符串快读

当字符串量特别大时,可以用这个优化

inline string read(){
	char ch = getchar();
	string st1 = "";
	while(!(ch >= 'a' && ch <= 'z')) ch = getchar();
	while(ch >= 'a' && ch <= 'z') st1 += ch, ch = getchar();
	return st1;	
}

懒人(假)快读?

1#define read(n) scanf("%d", &n);

2inline int read(){
	int x;
	cin>>x
	return x;
}

这个叫做写的更快的读入,也叫快读,嗯。

你可能感兴趣的:(模板)