相信大家一定在为超时而感到苦恼,今天小编来带来可以让你的C++代码加快的小技巧!
先看一下讲解例题
51nod 3058 小明爱集合
题目描述
输入输出描述+数据范围
输入输出样例+提示
这是本蒟蒻第一次做的时候
#include<bits/stdc++.h>
using namespace std;
set <int> a;
int main(){
int t,n,m,x,len;
scanf("%d",&t);
while(t--){
a.clear();
scanf("%d %d",&n,&m);
for(int i=1;i<=n+m;i++){
scanf("%d",&x);
a.insert(x);
}
int len=a.size();
printf("%d\n",(n+m-len)*100/len);
}
return 0;
}
结果……
超了一个点
于是我立马总结了一下,整理了以下加快C++代码的小技巧
1.输入,输出:
cin和cout虽然代码简便,但……是超时的好帮手啊!!!
所以统统不用他们!!!用printf和scanf比较好。
但是从我的代码看我也加了printf和scanf啊,为什么还不对呢?
请看下边
2.头文件
万能头虽然好用,但……带上他我们可是会坠入超时的坑里!!
用iostream至少比万能头快5~6毫秒
3.神技
ios::sync_with_stdio(false);
cout.tie(NULL);
加入这两句话,你的代码直接提速!!!
至于原理……请看关于ios::sync_with_stdio(false);和cin.tie(0);cout.tie(0);
这就是本蒟蒻整理的能让你代码加速的小技巧,再见!感谢观看文章!