Skip to content

题目编写规范

一方面是为了协作,另一方面也是为了统一,保证题目质量,包括以下一些内容:

  • 题目模板
  • Latex 使用

题库内容包括

  • 题目内容(Problem)
  • 参考代码(Solution,包括 Python 和 C++ 两份)
  • 参考解析(图文或视频)
  • 教学要点(师培用)
  • Keynote(教学用)
  • 测试数据(用作 OJ 使用)

第一个阶段先把题目内容和参考代码准备出来

题目结构

  • 题目描述
  • 输入描述
  • 输出描述
  • 输入输出样例
    • 输入数据 1
    • 输出数据 1
    • 输入数据 2
    • 输出数据 2

如果题目为某知名比赛原题,注明来源

编程任务文件及标题命名

仔细考虑这两个命名,主要是为了方便后续检索方便,建议考虑到以下一些因素:

  • 题目分类
  • 难度
  • 考虑到题目的数量增长问题

以洛谷的题目为例,任务文件名是从 P1000 开始的,一直往后增长,文件名就没有其它特别的含义了。

而题目名称,主要由三部分构成

  • 文件名,如 P1000
  • 若是某知名比赛原题,则在任务名称里体现出来
  • 题目实际名称

如:P1031 [NOIP2002 提高组] 均分纸牌,另外,洛谷通过「算法标签」来进行更多的分类描述。

关于文件名,初步的想法是,一共 8 位数字或字母构成,以文件名 P0100101 为例

  • 第 1 位,大写字母 P,代表 Problem
  • 第 2 - 3 位,代表题目分类,如 01 代表「基本运算」
  • 第 4 - 6 位,代表题目编号,如 001,代表这个分类下的第 1 个题目,也就是说,每个分类下的题目不超过 999 个,也比较合理
  • 第 7 - 8 位,代表难度,难度从 0110,共十级,递增,01 代表入门级知识点难度,10 代表 NOI 级知识点难度

最终题目名称类似:

  • P0100101-求圆的面积

分类(暂定)

  • P01,基本运算
  • P02,条件分支
  • P03,循环
  • P04,数组
  • P05,字符与字符串
  • P06,函数
  • P07,指针/结构体/联合体
  • P08,进制转换
  • P09,枚举法
  • P10,模拟法
  • P11,贪心算法
  • P12,递推算法
  • P13,递归算法
  • P14,二分算法
  • P15,高精度算法
  • P16,排序算法
  • P17,搜索算法 - DFS
  • P18,搜索算法 - BFS
  • P19,动态规划 - DP
  • P20,图论算法

[TODO]

这里有一个问题没有解决,就是题目的来源,一种方法是把题目来源写到题目的内容里,加一条;一种方法是把题目来源写到题目的名称里。

关于难度的说明

这个可以参考 NOI 大纲,将难度分为十级。

  • 1 ~ 5,代表入门级知识点难度
  • 5 ~ 8,除入门级知识点外的,提高级知识点难度
  • 7 ~ 10,除入门级和提高级知识点外的,NOI 级知识点难度

关于比赛的说明

目前,知名的比赛大致有以下一些,为了方便上面命名。

  • CSP-J,CCF 非专业级软件能力认证入门组(Certified Software Professional Junior)
  • CSP-S,CCF 非专业级软件能力认证提高组(Certified Software Professional Senior)
  • NOI,全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics)
  • WC,全国青少年信息学奥林匹克竞赛冬令营(National Olympiad in Informatics Winter Camp,简称 NOIWC 或 WC ),为NOI系列赛事之一。
  • APIO,亚洲与太平洋地区信息学奥林匹克(Asia-Pacific Informatics Olympiad, APIO),是一个面向亚太地区在校中学生的信息学学科竞赛。
  • IOI,国际信息学奥林匹克竞赛(International Olympiad in Informatics,IOI),是面向中学生一年一度的信息学科竞赛。
  • USACO,美国信息学奥林匹克竞赛(USA Computing Olympiad),是一项面向全球开放的比赛,各国中小学生都可以参赛,并且不收取任何参赛费用。

上面是级别比较高的一些竞赛。

下面是其它一些比赛或等级考试。

  • GESP,CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台,GESP 官网
  • CIE,中国电子学会(Chinese Institute of Electronics),中国电子学会青少年等级考试,CIE 官网
  • NOC,全国中小学信息技术创新与实践大赛,NOC为 Novelty, Originality, Creativity 的缩写,NOC 官网

其它注意

  • 在准备任务时,最好注明题目的来源,这样有任何问题方便溯源 ~

参考资源