考试经验总结

考试经验总结

  • 在考试的时候不要死磕某一道题,最开始要先全看一下题,给每道题都预留一下时间,不能在一棵树上吊死,可以使用类似于每道题写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
posted @ 2024-10-23 08:02  Z_AuTwT  阅读(4)  评论(0编辑  收藏  举报