一些加快 程序运行速度的方法

程序的运行时间是各位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'); }

其实写一个并不是很费劲,你说呢?

后面的就不相细解释了,相细大家应该一说就知道吧

4、化递归为递推

5、搜索为记搜

6、搜索转动归

7、。。。后续将持续补充QAQ

posted @ 2018-10-20 16:29  vercont  阅读(848)  评论(0编辑  收藏  举报