前言
周五晚上(2019/9/13),作者打了一场比赛,结果因为写了一个假的对拍而导致$DP$爆零。
因此,就有了这篇文章。
对拍的组成
对拍程序一般由$4$个部分组成,分别是暴力程序,正解,数据生成器,对拍器。
其中,暴力程序必须保证其正确性。
对拍的写法
此程序在Windows 10 1903
版本下亲测可用,如果您使用的电脑系统为Mac
或Ubuntu
,请自行修改。
Code:
|
不用理解,直接背就行
对拍的使用
首先,你需要在自己的桌面上建立一个名为Same
的文件夹
Same
文件夹内需要包含$4$个文件,分别是您的暴力,正解,数据生成器和对拍程序。在这里对应文件夹中的a.cpp
,b.cpp
,data.cpp
,Same.cpp
。
其中,a.cpp
与b.cpp
需要加上文件输入输出,读入的文件均为try.in
,输出的文件分别为try1.out
与try2.out
,data.cpp
需要向try.in
中输入数据。
在一切就绪之后,我们运行a.cpp
,b.cpp
,data.cpp
,这时,文件夹里会多出以下文件。
之后运行Same.cpp
,这时,对拍程序即开始运行。如果对拍成功,会显示以下界面
如果出现错误,会显示以下界面:
这时,我们就可以收集try.in
中的数据,用来调试我们的正解。
后记
但要注意,对拍只可以对小数据进行调试,暴力无法跑出大数据。
因此,我们要注意对于边界条件的检查与把控,不要出现数组越界的情况。
另外,对拍不一定能随机到有强度的数据,特别是在图论题中。
因此,对于数据量小的极限数据,我们还是要自己手动制作。