卡常技巧
作者:互联网
前言
本文会不定时更新。
快读
这是利用$getchar$来优化
inline int read(){ register int x=0,v=1,ch=getchar(); while(!isdigit(ch)){if(ch=='-')v=-1;ch=getchar();} while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^'0');ch=getchar();} //与x=x*10+(ch-'0')意义相同 return x*v; }
快写
这是利用$putchar$来优化
void _print(int x){ if(x<10){putchar(x+'0');return;}//小于10就直接输出,return _print(x/10); putchar(x%10+'0');//输出 } inline void print(int x){ if(x<0)putchar('-'),x=-x; //x为负数就变为相反数,输出符号然后进行递归 _print(x); }
其他
可以在每个函数前加上$inline$,在定义前加上$register$等。
标签:ch,技巧,int,register,while,isdigit,卡常,getchar 来源: https://www.cnblogs.com/Lates/p/12259471.html