考試經驗總結
- 在考試的時候不要死磕某一道題,最開始要先全看一下題,給每道題都預留一下時間,不能在一棵樹上吊死,可以使用類似於每道題寫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;
}
- 打草稿,看資料範圍,看程式內有沒有加法、乘法。
- 算空間,算時間,能開的的下的情況儘量開
long long
。 - 使用
set
時用自帶的lower_bound
。