码迷,mamicode.com
首页 > 其他好文 > 详细

卡常技巧

时间:2020-02-04 15:29:00      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:arp   line   print   git   putchar   while   定义   getc   csharp   

前言

本文会不定时更新。

快读

这是利用$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$等。

 

卡常技巧

标签:arp   line   print   git   putchar   while   定义   getc   csharp   

原文地址:https://www.cnblogs.com/Lates/p/12259471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!