#创作计划# 如何制作一道好的题目
2025-08-02 21:24:24
发布于:浙江
声明: 本文参考了洛谷主题库题目规范.
本文主要有
- 基本规范
- 题目背景
- 题目描述
- 输入格式
- 输出格式
- 说明/提示
- 数据范围
- 时空限制
- 上传测试点
这几个板块
板块一:基本规范
- 应该正确使用全角中文标点符号。特别地,句末要有句号。
- 数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应正确使用 LaTeX,非数学公式(一般英文单词、题目名、算法名、人名等)不应使用 LaTeX。
- 中文与英文、数字或公式之间以半角空格隔开,但中文标点符号与英文、数字或公式之间不应有空格。
示范:
- 应该正确使用全角中文标点符号。而句末应该要有句号。
你好,你在干什么。
- 数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应正确使用 LaTeX,非数学公式(一般英文单词、题目名、算法名、人名等)不应使用 LaTeX。
错误示范:
- 中文与英文、数字或公式之间以半角空格隔开,但中文标点符号与英文、数字或公式之间不应有空格。
, 解:,
错误示范:
,解: ,
板块二:题目背景
这里「题目背景」包括但不限于题目中「题目背景」一栏中的内容,也包括「题目描述」中的背景故事。
- 好的题目背景应起到帮助理解题意的作用。
- 需要绝对避免题目背景影响题意的理解,同时不应有过多与题目本身无关的内容。
- 必要时,可以提供形式化题意。
板块三:题目描述
- 要求清晰、简洁、易懂、严谨,不应出现需要样例才能理解题意的情况,不应使用容易引起歧义的表述。
提示:
一些需要特别注明或说明的内容:
- 子串、子序列:应当注明子串是连续的,子序列是不一定连续的。
- 所有子串、所有子序列:应当说明是否包含空串或空子序列。
- 本质不同:应当说明其精确定义。
应该避免出现错别字:
- 联通:应写成「连通」。
- 同一道题目的同一个变量,名字的大小写应统一,不应出现在某处是 ,而另一边变成了 的情况。
板块四:输入格式
- 描述多个并列的变量时,应合并为一个公式。
- 除部分特殊情况外,用作序号的数字建议使用中文。
- 表述时应注意形式上的统一,不应出现「输入」二字时有时无的情况。
板块五: 输出格式
- 输出特定字符串时应使用行内代码块。
一行一个字符串 `inf`。
- 如果题目有多种可能的正确输出,包括输出小数(可能有浮点误差的情况),需要用到 Special Judge,请在输出格式中说明。
- 如果答案需要取模,请在题目描述和输出格式中两次说明。
- 表述时应注意形式上的统一,不应出现「输出」二字时有时无的情况。
板块六:说明/提示
- 包括样例说明、数据范围和提示。
板块七:数据范围
- 数据类型(整数、实数、字符、字符串等)应在输入格式中说明,数据范围应在说明/提示中说明。需要绝对避免数据类型是「正整数」但数据范围是 「」的情况。
- 数据范围必须有上界和下界的描述,字符串必须有字符集的描述,实数必须有小数点后位数的描述。
- 当有效位数较少时, 的数应使用科学计数法。
- 不同变量的数据范围应分开为多个公式,公式与公式之间用全角逗号隔开。特别地,若存在多个变量的数据范围相同,也可以合并为同一个公式。
- 若部分分具有依赖关系,可以省略部分分中不必要的数据范围。
- 原则上,要有对于全部测试数据的数据范围。
- 使用百分号表述部分分时,需要避免出现歧义,必要时推荐使用表格表述。
- 如果需要捆绑测试,应加粗说明「本题采用捆绑测试」,对 Subtask 的描述推荐采用无序列表。
板块八:时空限制
- 原则上,时空限制应至少为 std 在最坏情况下的 倍,且不应过小或过大。
板块十:上传测试点
-
在 ACGO 中,上传测试点的方法有两种,分别是手动录入测试点与上传压缩包。
-
比较推荐使用“手动录入测试点”,因为操作难度简单且易懂。
- 而“上传压缩包”操作难度高且难懂,主要在竞赛题中使用。
全部评论 2
显然上传压缩包更适用于比赛题
10小时前 来自 浙江
0@AC君 求精
10小时前 来自 浙江
0
有帮助,赞一个