$$About\ 对拍(蒟蒻\ qyz\ 的笔记)$$
$$1. 有什么用?$$
现在大多数比赛都是 $OI$ 制,而在这种赛制下我们无法像正常卷题一样提交 114514 很多次;我们只能保留最后一次的代码。所以经常有 dalao(萌新) 在赛场上发挥失常。
这时候就要用到对拍这种方法了。
$$2. 前置知识—生成数据$$
这里提供一个经典题型的数据(附加注释):
#include <bits/stdc++.h>
#include <ctime> // 这玩意是 bits/stdc++.h 不包括的
using namespace std;
typedef long long LL;
int N = 1e5, Max_ai = 1e6;
int random (int x) { // 获取 0~x-1 中间的一个随机数
return (LL)rand() * rand() % x;
}
int main() {
freopen ("dat.in", "w", stdout); // 大 gie,你是要输到一个输入文件
srand (time(0));
int n = random (N) + 1 // 一般要 >= 1 的话建议还是 + 1(虽然出 0 的概率超级小,但是还是要保证数据的严谨)
for (int i = 0; i < n; i ++)
printf ("%d ", random (m << 1 | 1) - m);
return 0;
}
大家自行举一反三。这就是你懒的理由?
$$3. 怎么用?$$
我们首先要准备好三个程序:自己用于提交评测的程序、保证答案正确的朴素解法程序、生成数据程序。(如果有必要还要加一个对两个程序答案的程序)。
我们先用生成数据的程序生成一个 in,接着再用朴素解法得出一个正确答案,最后测试自己用于提交评测的程序。
$$4. 最后说明$$
老升初二的彩笔 OIer 祝愿各位神 OIer 们 $csp-J(S)$ rp += 114514
!
希望这文章能帮到各位 $AKer$;彩笔先爪巴力
114514是什么?