题目规范及相关Latex语法说明

cookiebus 2022-03-29 16:26:43 2022-04-05 10:08:44 26

点击查询LaTeX语法

1. 基本规范

  • 所有数学符号、常数、作为变量的字母应使用 LaTeX 公式,请严格遵守 LaTeX 公式的格式要求。
  • 中文与英文字符或公式之间以一个空格隔开,但中文标点符号与英文字符或公式之间不应有空格。注意人名、算法名如果是英文,只需要用空格和中文隔开,而不需要写成数学公式,如:
NaCly_Fish 和 PinkRabbit 是好朋友。
第一行一个整数 $n$
  • 关于换行,在一行后面加两个空格是段内换行,在两行之间加空行是分段。题目描述等建议用分段,数据范围建议用段内换行。

2. 基本排版

2.1 题目背景

  • 题目背景最好尽量简短。在题目背景较长时,应当与题目描述分开。需要绝对避免题目背景严重影响题意的理解。必要时,可以提供与背景结合的题目描述与简洁的题目描述两个版本。

2.2 题目描述

  • 要求清晰易懂。
  • 同一道题目的变量名大小写应统一,不应出现在某处是 N ,而在另一处变成 n 的情况。同时建议变量与题目相关时使用小写,无关时(如数据组数)使用大写。

2.3 输入/输出格式

  • 如果单个测试点包含多组数据,应在输入格式中加粗说明「本题的每个测试点有多组数据」
  • 描述多个并列的变量时,应合并为一个公式。
  • 除部分特殊情况外,用作序号的数字建议使用中文。
**本题的每个测试点有多组数据**。
第一行一个整数 $T$,表示数据组数。
对于每组数据:
第一行三个整数 $n,m,k$。
接下来 $n$行,每行$m$ 个整数,表示输入矩阵 $a$。
  • 带文件名的需要在输入格式/输出格式里面加上
从文件 `test.in` 中读入数据。

输出到文件 test.out 中。

  • 输出有小数的建议用 Special Judge,需要写清楚相对误差和绝对误差
  • 输出特定字符串时应使用行内代码块。如
输出一行一个字符串 `inf`

2.4 样例

格式如下

#### 样例输入 1
```plain
1
```
#### 样例输出 1
```plain
2
```
#### 样例解释 1
样例解释 1 写在这里
#### 样例输入 2
```plain
3
```
#### 样例输出 2
```plain
4
```
#### 样例解释 2
样例解释 2 写在这里
#### 样例 3
见附加文件中的 `test3.in` 和 `test3.out`。
#### 样例 4
见附加文件中的 `test4.in` 和 `test4.out`。

2.5 数据范围

  • 数据类型(如整数、实数、字符等)应在输入格式中说明。
  • 数据范围必须有上界和下界的描述,字符串必须有字符集的描述,实数必须有小数点后位数的描述。因此输入格式中不必说明「正整数」或「非负整数」而只需说明「整数」。
  • 较大的数字应当用科学计数法,如 150000 应当写成 1.5 \times 10^5
  • 不同的变量表达式之间应当用全角逗号隔开,而不是写在一个公式里,比如 $1 \leq n \leq 10$,$1 \leq m \leq 100$
  • 部分分应描述为「对于 50\% 的数据」而不是「对于50%的数据」。同时,若部分分具有依赖关系,应省略部分分中的多余数据范围及下界,如:
对于 $30\%$ 的数据,$n \le 10$$m \le 100$。  
对于 $60\%$ 的数据,$n \le 100$。  
对于另外 $20\%$ 的数据,$a_i,b_i > 0$。
对于 $100\%$ 的数据,$1 \le n \leq 10^4$$-10^9 \le a_i,b_i \le 10^9$
  • 对于有子任务捆绑的题目:
**本题采用子任务捆绑测试**。对于每个子任务,你只有通过了这个子任务的所有数据,才能获得这个子任务的分数。

本题采用子任务捆绑测试。对于每个子任务,你只有通过了这个子任务的所有数据,才能获得这个子任务的分数。

  • 子任务 分):
  • 子任务 分):
  • 子任务 分):无特殊限制。 对于所有数据,
  • 或者用表格的形式。但是有子任务需要加上「本题采用子任务捆绑测试。对于每个子任务,你只有通过了这个子任务的所有数据,才能获得这个子任务的分数。」,记得加粗本题采用子任务捆绑测试

2.6 链接和图片

  • 对于站内链接/图片,请去掉站点域名,只保留后面的目录。

  • 如链接到 A+B problem,只需要写成 [A+B problem](/problem/1)

  • 对于题面内的图片,可以传到 A+B problem 的测试数据中,然后用 ![](/problem/1/testdata/download/233_problem1.jpg) 的方式引用。统一用 233_problem1.jpg 或者 233_solution1.png 这类格式来命名图片。

3. 时间和空间限制

原则上,时空限制应至少为 std 在最坏情况下的两倍。

4. 公式排版

4.1 字体和符号

  • 首先从使用 Roman 体表示常量和函数做起。LaTeX 已经预先定义好了一些常见的常量、函数、运算符等,我们可以直接调用,包括但不限于:
\log, \ln, \lg, \sin, \cos, \tan, \sec, \csc, \cot, \gcd, \min, \max, \exp, \inf, \mod, \bmod, \pmod
  • 所以在输入常量、函数名、运算符等时,请先检查一下是否应该使用 Roman 体或其它字体,也可以百度求解。

  • 如果遇到没有预先定义好的需要使用 Roman 体的函数名 ,我们可以使用 $\operatorname{something}$ 来产生,如我们可以使用 $\operatorname{lcm}$ 产生正体的最小公倍数(函数)符号。同理,产生 Roman 体的常量应用 $\mathrm{}$;产生 Roman 体粗体符号应用 \mathbf{} ;产生 Italic 体粗体符号应用 \boldsymbol{} (如向量 \boldsymbol{a} )。

  • 希腊字母用 $\alpha$(小写),$\Alpha$(大写)。
    请正确使用对应的 LaTeX 符号,尤其是公式中的希腊字母等特殊符号。如欧拉函数请使用 $\varphi$ ,圆的直径请使用 $\Phi$ ,黄金分割请使用 $\phi$ 。这些符号虽然同样表示希腊字母 Phi,但是在不同的环境下有不同的含义。切记不要使用输入法的插入特殊符号来插入这种符号。

  • 另外,由于 LaTeX 历史原因,空集的符号应为 $\varnothing$ 而不是 $\emptyset$ ;由于近百年来数学符号演变,定义集合符号应使用实数集 $\mathbb{R}$ ,正整数集 $\mathbb{N}^*$ 等。同理,其他的符号按照中国国内最常使用的版本来书写,重点参照数学和信息技术课本。

  • 其他非数学内容,包括英文、特殊符号等,一律使用 $\text{}$。中文我们则建议不放在 LaTeX 公式中。

4.2 常见错误

不符合规定的用法 渲染效果 正确用法 正确用法的渲染效果
$log, ln, lg$ log, ln, lg $\log$, $\ln$, $\lg$ \log , \ln , \lg
$sin, cos, tan$ sin, cos, tan $\sin$, $\cos$, $\tan$ \sin , \cos , \tan
$gcd, lcm$ gcd, lcm $\gcd$, $\operatorname{lcm}$ \gcd , \operatorname{lcm}
$ 小于 a 的质数 $ 小于 a 的质数 小 于 的 质 数 小于 $a$ 的质数 小于 a 的质数
$...$ ... $\cdots$, $\ldots$, $\vdots$, $\ddots$ \cdots , \ldots , \vdots , \ddots
$a*b$ (两个数相乘) a*b $a\times b$, $a\cdot b$ a\times b (科学计数法要用这个), a\cdot b
$SPFA$ (英文名称) SPFA SPFA SPFA
$a==b$ a==b $a=b$ a=b
$f[i][j][k]$ f[i][j][k] $f_{i,j,k}$, $f(i,j,k)$ f_{i,j,k} , f(i,j,k)
$R,N^*$ (集合) R,N^* $\mathbb{R}$, $\mathbb{N}^*$ \mathbb{R} , \mathbb{N}^*
$\emptyset$ \emptyset $\varnothing$ \varnothing
$a\%b$ a\%b $a\bmod b$ a\bmod b
{{ vote && vote.total.up }}