构造题目测试数据 -OIER试炼场
构造题目测试数据 ——OIER
O、前言
所有使用Ai的数据必须遵循国内Ai使用规范。
祝你出题愉快,Ciallo。
一、定义
- 对于普通数据
本质为“测试选手代码逻辑是否合理”。
- 对于HACK数据
本质为“测试选手代码是否可触及题目边界”,边界包括时间、内存、数据范围等。
二、输入数据的构造
普通数据
- 在这里,对其作出规定:
对于任意的普通数据,仅需保证在题面给定的逻辑下,输入、输出数据正确即可。
有时甚至可以包含部分HACK数据。
本部分建议使用Ai进行输入数据的构造。
根据题目需要,也可以使用“密码生成器”等高度随机化的数据。
HACK数据
HACK通常可以从以下角度考虑
-
时间
-
内存
-
数据范围
-
数组大小
- 对于时间、内存
一般的,以出题人提供的标准程序为基础,在此基础上综合考虑标程复杂度、评测机CPU及内存瓶颈估算数据
但是,由于其的复杂度可见一斑,(还没卡选手先把自己卡了),建议往后看。
- 对于数据范围、数组大小
基于题面,写一个在时间限制范围内尽量大的数据(超大数据就是这么来的)。
并且建议在题面“数据的规模与约定”中说明。
- 没有灵感可以问问Ai
三、输出数据的构造
输出数据完全不能由Ai生成
所有的输出数据必须通过在标程中freopen出ans文件
四、Ai使用说明
所有的输出数据完全不能由Ai生成!
另外的,请尽量使用国外Ai,例如ChatGPT,Gemini等
非必要,不要使用国内Ai,包括但不限于文心一言,通义千问,kimi等
对于chatgpt的使用,建议使用国内镜像https://chat.chatgpt-mirrors.top/