• 通知
  • GF 24 域题目、题解规范

  • @ 2026-8-2 18:27:38

题目规范

本规范将作为 GF24 域题库的题目规范,规范的最终解释权归参议院(即 root 管理员)所有。

题库中已有的题目将会保留,管理员会根据本规范逐步修改;新加题目需严格遵守本规范。

当前版本更新时间:2026-08。

基本规范

  • 请正确使用全角中文标点符号。特别地,句末要有句号
  • 数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应正确使用 LaTeX,非数学公式(一般英文单词、题目名、算法名、人名等)不应使用 LaTeX。
  • 中文英文、数字或公式之间以半角空格隔开,但中文标点符号英文、数字或公式之间不应有空格。

题目背景

这里「题目背景」包括但不限于题目中「题目背景」一栏中的内容,也包括「题目描述」中的背景故事。

  • 好的题目背景应起到帮助理解题意的作用,如 [P5291 十二省联考 2019] 希望 和 [P6776 NOI2020] 超现实树
  • 需要绝对避免题目背景影响题意的理解,同时不应有过多与题目本身无关的内容。
  • 必要时,可以提供形式化题意

题目描述

  • 要求清晰、简洁、易懂、严谨,不应出现需要样例才能理解题意的情况,不应使用容易引起歧义的表述。

一些需要特别注明或说明的内容:

  • 子串、子序列:应当注明子串是连续的,子序列是不一定连续的。
  • 所有子串、所有子序列:应当说明是否包含空串或空子序列。
  • 本质不同:应当说明其精确定义。

一些错别字:

  • 联通:应写成「连通」。
  • 同一道题目的同一个变量,名字的大小写应统一,不应出现在某处是 NN,而在另一处变成 nn 的情况。

输入格式

  • 描述多个并列的变量时,应合并为一个公式。
  • 除部分特殊情况外,用作序号的数字建议使用中文
  • 表述时应注意形式上的统一,不应出现「输入」二字时有时无的情况。

源代码复制

**本题有多组数据**。
第一行一个整数 $T$,表示数据组数。
对于每组数据:
第一行三个整数 $n,m,k$。  
接下来 $n$ 行,每行 $m$ 个整数,表示输入矩阵 $a$。

输出格式

  • 输出特定字符串时应使用行内代码块

源代码复制

一行一个字符串 `inf`。
  • 如果题目有多种可能的正确输出,包括输出小数(可能有浮点误差的情况),需要用到 Special Judge,请在输出格式中说明。
  • 如果答案需要取模,请在题目描述输出格式中两次说明。
  • 表述时应注意形式上的统一,不应出现「输出」二字时有时无的情况。

说明/提示

  • 包括样例说明数据范围提示

数据范围

  • 数据类型(整数、实数、字符、字符串等)应在输入格式中说明,数据范围应在说明/提示中说明。需要绝对避免数据类型是「正整数」但数据范围是「 0≥0 」的情况。
  • 数据范围必须有上界和下界的描述,字符串必须有字符集的描述,实数必须有小数点后位数的描述。
  • 当有效位数较少时,105≥10^5 的数应使用科学计数法
  • 不同变量的数据范围应分开为多个公式,公式与公式之间用全角逗号隔开。特别地,若存在多个变量的数据范围相同,也可以合并为同一个公式。
  • 若部分分具有依赖关系,可以省略部分分中不必要的数据范围
  • 原则上,要有对于全部测试数据的数据范围。
  • 使用百分号表述部分分时,需要避免出现歧义,必要时推荐使用表格表述。

源代码复制

对于 $30\%$ 的数据,$n \le 10$。  
对于 $60\%$ 的数据,$n \le 1000$。  
对于另外 $20\%$ 的数据,$a_i,b_i > 0$。
对于 $100\%$ 的数据,$1 \le n \le 10^5$,$-10^9 \le a_i,b_i \le 10^9$。
  • 如果需要捆绑测试,应加粗说明「本题采用捆绑测试」,对 Subtask 的描述推荐采用无序列表

源代码复制

**本题采用捆绑测试**。

- Subtask 1(30 points):$n \le 10$。
- Subtask 2(30 points):$n \le 1000$。
- Subtask 3(20 points):$a_i,b_i > 0$。
- Subtask 4(20 points):无特殊限制。

对于所有测试数据,$1 \le n \le 10^5$,$-10^9 \le a_i,b_i \le 10^9$。
  • 如果没有部分分,一个变量的数据范围可以写在输入格式中。

时空限制

  • 原则上,时空限制应至少为 std 在最坏情况下的 1.51.5 倍,且不应过小或过大。

多语言

这是洛谷里的内容。想必 GF24 域里,除了 FISH 也没有人会闲的做多语言了。

  • 排版必须遵守本规范中的基本规范
  • 需要遵循原语言版本的内容进行完整翻译,不得夹带译者私货(含求通过等其他非翻译内容)。不能仅提供形式化题意,每个语言版本必须能独立阅读。
    • 对于不影响题意的内容(如外国人名、题面自创新名词),允许保留原文并附加注释声明不影响理解题意(有能力的可以概括下大意)。
    • 对于专有名词可在翻译中使用( )标注外语原文。
    • 对于同个词的翻译需在全文中保持一致。
  • RemoteJudge 的试题,除了在被知名书籍引用且被翻译的情况外,题目标题无需进行任何翻译,请照原样抄写标题。
  • 允许使用 AI 进行辅助翻译,但必须注明使用了 AI 进行翻译。用户应当人工进行校对,确保用词准确,表达符合规范。

题解规范

前言

随着题解审核工作的不断发展,原有的题解审核及反馈要求已经不再满足当前的需求。

本文将对一系列题解规范相关的内容进行整合,形成一套适用于当前 GF24 域的完整的规范,帮助用户快速熟悉题解的创作与提交流程。

声明

本规范将作为 GF24 域题库题解的审核要求以及反馈要求。规范的最终解释权归管理所有。

图文说明

题解内容要求

Markdown 使用规范

空格和符号

正确使用 LaTeX

基本规范

  • 请正确使用全角中文标点符号。特别地,句末要有句号
  • 数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应使用 LaTeX,非数学公式(一般英文单词、题目名、算法名、人名等)不应使用 LaTeX。
  • 中文英文、数字或公式之间以半角空格隔开,但中文标点符号英文、数字或公式之间不应有空格。

题解内容

  • 应只包含题目相关内容,包括但不限于题意简述、题目分析等;不应出现大量无关内容,包括但不限于闲聊、吐槽、加戏、求赞、求管理员通过、「蒟蒻的第一篇题解」等内容。
  • 对于题面较长的题目,建议加入题意简述,但不应完整复制题面至题解中。
  • 题目分析中必须包含做这一道题目的主要思路,包括但不限于:使用了什么算法或数据结构,以及对于相应算法或者数据结构的具体分析。
  • 题目分析应给出完整正确的解法与说明,并对解法中的重要结论进行解释与证明。给出的解法应能够在合理的时间复杂度内通过题目。
  • 可以使用视频链接的功能对题解文字内容做补充说明,但是题解的文字部分必须是完整充分的,不能提交仅含有视频而没有其他说明的题解。
  • 如果需要引用一些来自他人的内容,请确保不会侵犯他人的版权,并且必须使用链接标注来源。
  • 关键思路、论证过程、代码等内容不得使用生成式 AI 辅助产生。
  • 如使用生成式 AI 辅助写作(排版、润色),必须在文末(或附录中)明确披露生成式 AI(GenAI)的具体贡献。具体规范

排版

  • 应使用 markdown 正确排版。
  • 应使用 #, ##, ###, #### 符号表示标题行。标题应对文章结构进行引导;不应滥用标题行表示强调与无意义内容。
  • 应使用 -, +, * 来表示无序列表,用 1. 来表示有序列表。以下是一个例子:

源代码复制

- QAQ
- QwQ
- QvQ
  • QAQ
  • QwQ
  • QvQ

源代码复制

1. QAQ
2. QwQ
3. QvQ
  1. QAQ
  2. QwQ
  3. QvQ
  • 应使用行内代码块表示字符串或代码,如 aabc
  • 应使用行间代码块引用代码。
  • 应使用 []() 引用链接,如 题解审核及反馈要求[题解审核及反馈要求](https://www.luogu.com.cn/discuss/174934))。
  • 应使用 ![]() 引用图片,如 ![](https://cdn.luogu.com.cn/upload/pic/22071.png)

引用图片示例

数学公式

  • 数学公式(运算式、运算符、参与运算的常数、作为变量的字母等)应使用 LaTeX。同一个数学公式应写在一个 LaTeX 环境内。
  • 数学公式中的文本应使用 \text,字符串应使用 \texttt。如 a is primea \text{ is prime}$a \text{ is prime}$),S=aabcdS = \texttt{aabcd}$S = \texttt{aabcd}$)。
  • 公式独立成行时应使用行间公式。以下是一个行间公式的例子:

源代码复制

$$a + b = c$$
a+b=ca + b = c
  • 数学公式中应使用数学语言而非代码语言。
    • 赋值语句 a = b; 可以写作 aba \gets b$a \gets b$)或 bab \to a$b \to a$)。
    • 判定语句应使用 =,,<,,>,=, \ne, <, \le, >, \ge$=, \ne, <, \le, >, \ge$)与艾佛森括号([P][P]PP 为真时取值为 11PP 为假时取值为 00)进行描述。
    • 整除应使用 $\lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor$($\lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor$),不应使用 fracabfrac{a}{b}a/ba/b 直接表示整除。
    • 取模应使用 amodba \bmod b$a \bmod b$) 或 ab(modp)a \equiv b \pmod p$a \equiv b \pmod p$)。
    • 不应出现 a.ba.b 等结构体式的写法,如有需要可以使用上下标表示。
    • 位运算应使用 $\operatorname{and}, \operatorname{or}, \operatorname{xor}$($\operatorname{and}, \operatorname{or}, \operatorname{xor}$)。特别地,对于状态压缩 DP 等一类常用位运算实现集合运算的代码,建议在题解中用集合语言直接描述。以下是一个例子:

源代码复制

$$dp_{S \cup \{u\}} \gets dp_{S}+w_u$$
dpS{u}dpS+wudp_{S \cup \{u\}} \gets dp_{S}+w_u
  • 上下标应使用 abca _ {b} ^ {c}$a _ {b} ^ {c}$)进行表示。
  • 大数字应使用科学计数法表示,如 5×1095\times10^9
  • 时间复杂度的大 OO 记号中不应带有常数,如有值域、字符集大小等常量,应使用字母进行表示。
  • 应正确使用运算符,如 +,,±,×,,÷,,,+, -, \pm, \times, \cdot, \div, \le, \ge, \mid$+, -, \pm, \times, \cdot, \div, \le, \ge, \mid$)。
  • 特定的、约定俗成的函数名称应该使用正体,如 gcd,max,min,log,det\gcd, \max, \min, \log, \det$\gcd, \max, \min, \log, \det$)。特别地,对于一些未定义的函数,应使用 \operatorname,如 lcm\operatorname{lcm}\operatorname{lcm})。
  • 应正确使用大型运算符,如 ,,,\sum, \prod, \bigcup, \bigcap$\sum, \prod, \bigcup, \bigcap$)。建议在可能引起误解的地方加上括号。
  • 应正确使用取模符号。
    • 取模运算应使用 \bmod,如 amodb=ca \bmod b = c$a \bmod b = c$)。
    • 同余符号应使用 \equiv\pmod,如 ac(modb)a \equiv c \pmod b$a \equiv c \pmod b$)。
  • 应正确使用数学结构符号,如 ab,a,a,{a}\frac{a}{b}, \sqrt{a}, \overline{a}, \{a\}$\frac{a}{b}, \sqrt{a}, \overline{a}, \{a\}$)。
  • 应正确使用箭头符号,用 ,\to, \gets$\to, \gets$)表示赋值,用 ,\Leftarrow, \Rightarrow$\Leftarrow, \Rightarrow$)表示因果关系。
  • 省略号应使用 ,,\dots, \cdots, \ldots$\dots, \cdots, \ldots$),特别地,矩阵中其它方向的省略号应使用 ,\vdots, \ddots$\vdots, \ddots$)。
  • 波浪线应使用 \sim$\sim$)。
  • 连等式应使用 \aligned 环境,分段函数应使用 \cases 环境,矩阵应使用 \bmatrix 环境。以下是一些例子:

源代码复制

$$\begin{aligned} \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \gcd(i, j) &= \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \sum _ {d \mid \gcd(i, j)} \varphi(d) \\ &= \sum _ {d = 1} ^ n \varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid \gcd(i, j)] \\ &= \sum _ {d = 1} ^ n \varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid i][d \mid j] \\ &= \sum _ {d = 1} ^ n \varphi(d) \left\lfloor \frac{n}{d} \right\rfloor ^ 2 \end{aligned}$$
$$\begin{aligned} \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \gcd(i, j) &= \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n \sum _ {d \mid \gcd(i, j)} \varphi(d) \\ &= \sum _ {d = 1} ^ n \varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid \gcd(i, j)] \\ &= \sum _ {d = 1} ^ n \varphi(d) \sum _ {i = 1} ^ n \sum _ {j = 1} ^ n [d \mid i][d \mid j] \\ &= \sum _ {d = 1} ^ n \varphi(d) \left\lfloor \frac{n}{d} \right\rfloor ^ 2 \end{aligned}$$

源代码复制

$$\lvert 2x - 1 \rvert = \begin{cases} 2x - 1 & x > \frac{1}{2} \\ 0 & x = \frac{1}{2} \\ 1 - 2x & x < \frac{1}{2} \end{cases}$$
$$\lvert 2x - 1 \rvert = \begin{cases} 2x - 1 & x > \frac{1}{2} \\ 0 & x = \frac{1}{2} \\ 1 - 2x & x < \frac{1}{2} \end{cases}$$

源代码复制

$$\begin{bmatrix} f_{i + 1} \\ f_i \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \times \begin{bmatrix} f_i \\ f_{i - 1} \end{bmatrix}$$
$$\begin{bmatrix} f_{i + 1} \\ f_i \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \times \begin{bmatrix} f_i \\ f_{i - 1} \end{bmatrix}$$

图片与代码

  • 题解中引用的图片应简洁、清晰、美观,图片中的文本也需要满足格式要求。请不要引用带有链接的图片。
  • 题解中如需配图(如示意图、流程图等),原则上必须上传至 BCOI - 我的文件,避免使用外部链接导致失效甚至被替换成违法违规图片。如果有动图的需求,可以使用 Bilibili。
  • 题解需附带代码。若题解较为简短,则在绝大多数情况下应当补充附上代码实现(哪怕只是核心片段),除非审核员根据具体题目判断认为“无代码的纯文字说明已经足够清晰合理”。否则相关题解可能不予通过。
  • 过长代码请使用 折叠块 而非云剪贴板。请使用“折叠块”功能将代码收起,以便读者按需展开查看,保持题解清爽。
  • 代码应具有一定的可读性,可以适当添加有意义的注释进行阐释。
  • 解法不应只在代码注释中描述,应在代码外使用正常文字书写。
  • 若需引用他人代码,请确保不会侵犯他人的版权,并且必须使用链接标注来源,位置建议放于代码之前。
  • 不应在代码中加入防抄袭内容。

0 条评论

目前还没有评论...