考试经验总结
- 在考试的时候不要死磕某一道题,最开始要先全看一下题,给每道题都预留一下时间,不能在一棵树上吊死,可以使用类似于每道题写1.5h的策略,没写出来就先跳。
- 先打暴力,拿暴力和正解对拍。
对拍1
| #include<bits/stdc++.h> |
| using namespace std; |
| int main(){ |
| int ok=0; |
| int n=10; |
| for(int i=1;i<=n;++i){ |
| system("date.exe > in.txt"); |
| system("std.exe < in.txt > std.txt"); |
| double begin=clock(); |
| system("P1001.exe < in.txt > P1001.txt"); |
| double end=clock(); |
| double t=(end-begin); |
| if(system("fc P1001.txt std.txt")){ |
| system("color b"); |
| printf("测试点#%d Wrong Answer\n",i); |
| } |
| else if(t>1000){ |
| system("color 4"); |
| printf("测试点#%d Time Limited Exceeded 用时 %.0lfms\n",i,t); |
| } |
| else{ |
| system("color a"); |
| printf("测试点#%d Accepted 用时%.0lfms\n",i,t),ok++; |
| } |
| } |
| printf("\n"); |
| double res=100.0*ok/n; |
| printf("共 %d 组测试数据,AC数据 %d 组。 得分%.1lf。",n,ok,res); |
| } |
对拍2
| #include<bits/stdc++.h> |
| using namespace std; |
| int main(){ |
| int cnt=0; |
| while(1){ |
| system("data.exe > 1.in"); |
| system("chk.exe < 1.in > 1.ans"); |
| system("baoliT1.exe < 1.in > 1.out"); |
| if(system("fc 1.out 1.ans")) |
| break; |
| ++cnt; |
| cout<<cnt<<"\n"; |
| } |
| return 0; |
| } |
生成毫秒级随机数
| struct _timeb T; |
| _ftime(&T); |
| mt19937 myrand(T.millitm); |
- 打草稿,看数据范围,看程序内有没有加法、乘法。
- 算空间,算时间,能开的的下的情况尽量开
long long
。
- 使用
set
时用自带的lower_bound
。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步