程序的运行时间是各位oier最头疼的限制之一,只要你运用如下算法,相信程序的运行时间会有巨大的改观
1、手动o2优化
提示:本功能仅限平时做题使用,在noip等比赛中是禁止的。
#pragma GCC optimize(2)
把这一句话放到程序的最开头即可实现
2、运用读入优化模板
本模板推荐noip等比赛中使用。
考虑到部分题目的n或m较大,相对应的n行m列的读入规模就会非常大,一般来说,用scanf流比cin流更快一些(因为cin是智能判断类型呀),但最快的肯定是用读优。
void read(int &x) { int f=1;x=0;char s=getchar(); 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; }
推荐使用此读入优化模板,码量较少。
3、运用输出优化模板
相比读入,输出优化就显得没什么用处了,因为一般输出的数据仅仅有1个数字或几个,但是如果要输出方案等较长的,输出优化还是不错的选择
void print(int x)
{
if(x<0) { putchar('-'); x=-x; } if(x>9) print(x/10); putchar(x%10+'0'); }
其实写一个并不是很费劲,你说呢?
后面的就不相细解释了,相细大家应该一说就知道吧