Loading docs/intro/htc.md +27 −27 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ ## 文档存储的格式 1. **文件名请务必都小写,以 `-` 分割,如 `file-name` 。** 2. 请务必确保您的文档中引用的 **外链** 图片已经全部转存到了 **本库内** 对应的 `images` 文件夹中(防止触发某些网站的防盗链),建议处理成 `MD 文档名称 + 编号` 的形式(可参考已有文档中图片的处理方式)。(即格式为 `` )。 1. **文件名请务必都小写,以 `-` 分割,如 `file-name`;** 2. 请务必确保您的文档中引用的 **外链** 图片已经全部转存到了 **本库内** 对应的 `images` 文件夹中(防止触发某些网站的防盗链),建议处理成 `MD 文档名称 + 编号` 的形式(可参考已有文档中图片的处理方式);(即格式为 `` )。 3. 请确保您的文档中的引用链接的稳定性, **不推荐** 引用 **自建** 服务(如 OJ)中的资源(如题目) ## 文档的合理性 Loading @@ -25,8 +25,8 @@ - 由浅入深,内容的难度应该具有渐进性。 - 逻辑性,对于每类内容的撰写应该尽量包含以下的内容: - 原理,说明该内容对应的原理。 - 例子,给出 1 ~ 2 个典型的例子。 - 原理,说明该内容对应的原理; - 例子,给出 1 ~ 2 个典型的例子; - 题目,在该标题下, **只需要给出题目名字、题目链接** 。 除现有内容质量较低的情况外,建议尽量从 **补充** 的角度来做贡献,而非采取直接覆盖的方式。如果拿不准主意,可以加群讨论细节。 Loading @@ -42,23 +42,23 @@ 1. 不要在页面中添加 `<h1>` 或者 `# 标题` 。 2. `## 简介` 标题要空一格(英文半角空格),也不要写成 `## 简介 ##` 。 3. 列表: 1. 列表前要有空行,新开一段。 1. 列表前要有空行,新开一段; 2. `1. 例子` 点号后要有空格。 4. 行间公式前后各要有一行空行,否则会被当做是行内公式。 5. 伪代码请使用 ```` ```text```` ,直接使用 ```` ``` ```` 可能导致内容被错误地缩进。 6. 涉及到目录的更改的时候: 1. 需要改动 mkdocs.yml 2. 请注意如果影响到作者信息统计,麻烦更新[author 字段](https://oi-wiki.org/intro/faq/#_15)。(不改动目录的时候不需要维护 author 字段。) 1. 需要改动 `mkdocs.yml`; 2. 请注意如果影响到作者信息统计,麻烦更新[author 字段](https://oi-wiki.org/intro/faq/#_15);(不改动目录的时候不需要维护 author 字段) 3. 需要在项目内搜索一下是否有内链需要更新。 7. 使用 `???` 或 `!!!` 开头的 Details 语法时,需要注意:开头至少有 4 个空格的行才会被当做是在 Details 语法的文本框中。 7. 使用 `???` 或 `!!!` 开头的 Details 语法时,需要注意:开头至少有四个空格的行才会被当做是在 Details 语法的文本框中。 ### 标点符号的使用 1. 请在每句话的末尾添加 **句号** 。 2. 请正确使用标点符号,注意区分 **全角** 符号与 **半角** 符号的使用(汉语请使用全角符号,英语请使用半角符号)。 3. 注意 **逗号** 的使用(应当使用顿号却使用了逗号等等)。 4. 注意 **括号** 的位置。 5. 请特别注意,我们通常习惯使用“ `「` ”与“ `」` ”来提高 **中文引号** 的辨识度,同时也常用 **分号** 来表示列表环境中各复句之间的关系。 1. 请在每句话的末尾添加 **句号** ; 2. 请正确使用标点符号,注意区分 **全角** 符号与 **半角** 符号的使用(汉语请使用全角符号,英语请使用半角符号); 3. 注意 **逗号** 的使用(应当使用顿号却使用了逗号等等); 4. 注意 **括号** 的位置; 5. 请特别注意,我们通常习惯使用 `「` ”与“ `」` 来提高 **中文引号** 的辨识度,同时也常用 **分号** 来表示列表环境中各复句之间的关系。 请参考下面的例子更好地使用标点符号: Loading Loading @@ -95,9 +95,9 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 4. 请注意,不要将任何代码的表示方法使用 LaTeX 公式。例如,使用 `$=$` 而不是 `$==$` (如 $a=b$ ,而不是 $a==b$ )、使用 `` `a<<1` `` 或者 `$a\times 2$` 而不是 `$a<<1$` 、使用 `$a\bmod b$` 代替 `$a\%b$` (如 $a\bmod b$ ,而不是 $a\%b$ )等。 5. 为了统一,复杂度分析时大 $O$ 记号请直接使用 `$O()$` 而不要 `$\mathcal O()$` 。 5. 公式中不要使用多中括号(即 C++ 高维数组的表示方式)而多使用下标。即 $a_{i,j,k}$ 而不是 $a[i][j][k]$ 。在公式中下标较复杂的情况下建议改用多元函数( $f(i,j,k)$ )或内联代码格式。对于一元简单函数使用 `$f_i$`、`$f(i)$` 或 `$f[i]$` 均可。 6. 公式中尽量避免中括号而多使用下标。即 $a_{i,j,k}$ 而不是 $a[i][j][k]$ 。在公式中下标较复杂的情况下建议改用多元函数( $f(i,j,k)$ )或内联代码格式。 6. 为了统一,复杂度分析时大 $O$ 记号请直接使用 `$O()$` 而不要 `$\mathcal O()$` 。 7. 请不要滥用 LaTeX 公式。这不仅会造成页面加载缓慢(因为 MathJax 的效率低是出了名的),同时也会导致页面的排版混乱。我们通常使用 LaTeX 公式字体表示变量名称。我们的建议是,如非必要,尽量减少公式与普通正文字体的 **大量** 混合使用,如非必要,尽量不要使用公式,如: Loading Loading @@ -135,7 +135,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 4. 所有用作序号的数字建议使用中文,如: - 数列的第一项。 - 数列的第一项; - 输入文件的第一行。 5. 我们建议使用主题扩展的 `???+note` 格式来描述题面。具体格式如下: Loading @@ -144,25 +144,25 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 ???+note "标题" 内容 多行内容 ``` ??? note "标题" 内容 多行内容 ``` 两种格式的区别是,带 `+` 的会默认保持展开,而不带 `+` 的会默认保存折叠。效果可以参考图例的例 7。 两种格式的区别是,带 `+` 的会默认保持展开,而不带 `+` 的会默认保持折叠。效果可以参考图例的例 7。 如果对 mkdocs-material(我们使用的这个主题)还有什么问题,还可以查阅[MkDocs 使用说明](https://github.com/ctf-wiki/ctf-wiki/wiki/Mkdocs-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)和[cyent 的笔记](https://cyent.github.io/markdown-with-mkdocs-material/),前者介绍了 mkdocs-material 主题的插件使用方式,而后者介绍了 markdown 传统语法和 mkdocs-material 支持的扩展语法。 如果对 mkdocs-material(我们使用的这个主题)还有什么问题,还可以查阅[MkDocs 使用说明](https://github.com/ctf-wiki/ctf-wiki/wiki/Mkdocs-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)和[cyent 的笔记](https://cyent.github.io/markdown-with-mkdocs-material/),前者介绍了 mkdocs-material 主题的插件使用方式,而后者介绍了 Markdown 传统语法和 mkdocs-material 支持的扩展语法。 ## 图解 可能上述要求把握起来有些困难,接下来我们给出一些图片来具体分析哪种格式应该使用,哪种不该使用。 可能上述要求把握起来有些困难,接下来我们给出一些图片来具体分析哪种格式应该使用,哪种不该使用: ### 例 1  将复杂的 LaTeX 公式使用行间格式,可以使得页面错落有致。但 OI Wiki 作为一个以中文为主体的站点,我们希望大部分纲领性的信息(如标题)尽量使用中文(除英文专有名词)。 将复杂的 LaTeX 公式使用行间格式,可以使得页面错落有致。但 **OI Wiki** 作为一个以中文为主体的站点,我们希望大部分纲领性的信息(如标题)尽量使用中文(除英文专有名词)。 ### 例 2 Loading @@ -174,13 +174,13 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对  一般情况下,我们建议将引用的资料在页面末位罗列。同时一定要避免使用 LaTeX 公式表达代码,上图中两个中括号就是不规范的写法。我们建议使用 `dp(i,j)` 或者 `dp_{i,j}` 。 `l[j]` 同理。 一般情况下,我们建议将引用的资料在页面末位罗列。同时一定要避免使用 LaTeX 公式表达代码,上图中两个中括号就是不规范的写法。我们建议使用 `dp(i,j)` 或者 `dp_{i,j}` 。 ### 例 4  注意我们描述 **乘法** 的时侯一般使用 `\times` 或者 `\cdot` ,特殊情况(如卷积)下会使用 `*` (也可以写成 `\ast` )。标题是简洁的词组,但我们不希望正文部分由词组拼凑而成。上图中“两个要素”,建议更改为“动态规划的原理具有以下两个要素”,上下文保持连贯。可取的地方是,适当使用 **有序** 列表可以更有条理地表述内容,同时注意,在使用列表的时侯,每一项如果是一个长句,需要在末位添加 **标点符号** 。通常是添加分号,在最后一项末位添加句号。 注意我们描述 **乘法** 的时侯一般使用 `\times` 或者 `\cdot` ,特殊情况(如卷积)下会使用 `*` (也可以写成 `\ast` )。标题是简洁的词组,但我们不希望正文部分由词组拼凑而成。上图中“两个要素”,建议更改为“动态规划的原理具有以下两个要素”,上下文保持连贯。可取的地方是,适当使用 **有序** 列表可以更有条理地表述内容,同时注意,在使用列表的时侯,每一项如果是一句话,需要在末位添加 **标点符号** 。通常是添加分号,在最后一项末位添加句号。 ### 例 5 Loading @@ -198,7 +198,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对  使用 mkdocs 扩展语法,让例题题面与算法描述区分开。将代码折叠,可以让文章更紧凑(毕竟看 Wiki 的大多数是了解思路,除了模板代码需要阅读外,习题的代码大多可以折叠)。在描述函数操作时,使用行内代码和 LaTeX 公式都是不错的选择。 使用 MkDocs 扩展语法,让例题题面与算法描述区分开。将代码折叠,可以让文章更紧凑。(毕竟看 Wiki 的大多数是了解思路,除了模板代码需要阅读外,习题的代码大多可以折叠)。在描述函数操作时,使用行内代码和 LaTeX 公式都是不错的选择。 ### 例 8 Loading Loading
docs/intro/htc.md +27 −27 Original line number Diff line number Diff line Loading @@ -15,8 +15,8 @@ ## 文档存储的格式 1. **文件名请务必都小写,以 `-` 分割,如 `file-name` 。** 2. 请务必确保您的文档中引用的 **外链** 图片已经全部转存到了 **本库内** 对应的 `images` 文件夹中(防止触发某些网站的防盗链),建议处理成 `MD 文档名称 + 编号` 的形式(可参考已有文档中图片的处理方式)。(即格式为 `` )。 1. **文件名请务必都小写,以 `-` 分割,如 `file-name`;** 2. 请务必确保您的文档中引用的 **外链** 图片已经全部转存到了 **本库内** 对应的 `images` 文件夹中(防止触发某些网站的防盗链),建议处理成 `MD 文档名称 + 编号` 的形式(可参考已有文档中图片的处理方式);(即格式为 `` )。 3. 请确保您的文档中的引用链接的稳定性, **不推荐** 引用 **自建** 服务(如 OJ)中的资源(如题目) ## 文档的合理性 Loading @@ -25,8 +25,8 @@ - 由浅入深,内容的难度应该具有渐进性。 - 逻辑性,对于每类内容的撰写应该尽量包含以下的内容: - 原理,说明该内容对应的原理。 - 例子,给出 1 ~ 2 个典型的例子。 - 原理,说明该内容对应的原理; - 例子,给出 1 ~ 2 个典型的例子; - 题目,在该标题下, **只需要给出题目名字、题目链接** 。 除现有内容质量较低的情况外,建议尽量从 **补充** 的角度来做贡献,而非采取直接覆盖的方式。如果拿不准主意,可以加群讨论细节。 Loading @@ -42,23 +42,23 @@ 1. 不要在页面中添加 `<h1>` 或者 `# 标题` 。 2. `## 简介` 标题要空一格(英文半角空格),也不要写成 `## 简介 ##` 。 3. 列表: 1. 列表前要有空行,新开一段。 1. 列表前要有空行,新开一段; 2. `1. 例子` 点号后要有空格。 4. 行间公式前后各要有一行空行,否则会被当做是行内公式。 5. 伪代码请使用 ```` ```text```` ,直接使用 ```` ``` ```` 可能导致内容被错误地缩进。 6. 涉及到目录的更改的时候: 1. 需要改动 mkdocs.yml 2. 请注意如果影响到作者信息统计,麻烦更新[author 字段](https://oi-wiki.org/intro/faq/#_15)。(不改动目录的时候不需要维护 author 字段。) 1. 需要改动 `mkdocs.yml`; 2. 请注意如果影响到作者信息统计,麻烦更新[author 字段](https://oi-wiki.org/intro/faq/#_15);(不改动目录的时候不需要维护 author 字段) 3. 需要在项目内搜索一下是否有内链需要更新。 7. 使用 `???` 或 `!!!` 开头的 Details 语法时,需要注意:开头至少有 4 个空格的行才会被当做是在 Details 语法的文本框中。 7. 使用 `???` 或 `!!!` 开头的 Details 语法时,需要注意:开头至少有四个空格的行才会被当做是在 Details 语法的文本框中。 ### 标点符号的使用 1. 请在每句话的末尾添加 **句号** 。 2. 请正确使用标点符号,注意区分 **全角** 符号与 **半角** 符号的使用(汉语请使用全角符号,英语请使用半角符号)。 3. 注意 **逗号** 的使用(应当使用顿号却使用了逗号等等)。 4. 注意 **括号** 的位置。 5. 请特别注意,我们通常习惯使用“ `「` ”与“ `」` ”来提高 **中文引号** 的辨识度,同时也常用 **分号** 来表示列表环境中各复句之间的关系。 1. 请在每句话的末尾添加 **句号** ; 2. 请正确使用标点符号,注意区分 **全角** 符号与 **半角** 符号的使用(汉语请使用全角符号,英语请使用半角符号); 3. 注意 **逗号** 的使用(应当使用顿号却使用了逗号等等); 4. 注意 **括号** 的位置; 5. 请特别注意,我们通常习惯使用 `「` ”与“ `」` 来提高 **中文引号** 的辨识度,同时也常用 **分号** 来表示列表环境中各复句之间的关系。 请参考下面的例子更好地使用标点符号: Loading Loading @@ -95,9 +95,9 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 4. 请注意,不要将任何代码的表示方法使用 LaTeX 公式。例如,使用 `$=$` 而不是 `$==$` (如 $a=b$ ,而不是 $a==b$ )、使用 `` `a<<1` `` 或者 `$a\times 2$` 而不是 `$a<<1$` 、使用 `$a\bmod b$` 代替 `$a\%b$` (如 $a\bmod b$ ,而不是 $a\%b$ )等。 5. 为了统一,复杂度分析时大 $O$ 记号请直接使用 `$O()$` 而不要 `$\mathcal O()$` 。 5. 公式中不要使用多中括号(即 C++ 高维数组的表示方式)而多使用下标。即 $a_{i,j,k}$ 而不是 $a[i][j][k]$ 。在公式中下标较复杂的情况下建议改用多元函数( $f(i,j,k)$ )或内联代码格式。对于一元简单函数使用 `$f_i$`、`$f(i)$` 或 `$f[i]$` 均可。 6. 公式中尽量避免中括号而多使用下标。即 $a_{i,j,k}$ 而不是 $a[i][j][k]$ 。在公式中下标较复杂的情况下建议改用多元函数( $f(i,j,k)$ )或内联代码格式。 6. 为了统一,复杂度分析时大 $O$ 记号请直接使用 `$O()$` 而不要 `$\mathcal O()$` 。 7. 请不要滥用 LaTeX 公式。这不仅会造成页面加载缓慢(因为 MathJax 的效率低是出了名的),同时也会导致页面的排版混乱。我们通常使用 LaTeX 公式字体表示变量名称。我们的建议是,如非必要,尽量减少公式与普通正文字体的 **大量** 混合使用,如非必要,尽量不要使用公式,如: Loading Loading @@ -135,7 +135,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 4. 所有用作序号的数字建议使用中文,如: - 数列的第一项。 - 数列的第一项; - 输入文件的第一行。 5. 我们建议使用主题扩展的 `???+note` 格式来描述题面。具体格式如下: Loading @@ -144,25 +144,25 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对 ???+note "标题" 内容 多行内容 ``` ??? note "标题" 内容 多行内容 ``` 两种格式的区别是,带 `+` 的会默认保持展开,而不带 `+` 的会默认保存折叠。效果可以参考图例的例 7。 两种格式的区别是,带 `+` 的会默认保持展开,而不带 `+` 的会默认保持折叠。效果可以参考图例的例 7。 如果对 mkdocs-material(我们使用的这个主题)还有什么问题,还可以查阅[MkDocs 使用说明](https://github.com/ctf-wiki/ctf-wiki/wiki/Mkdocs-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)和[cyent 的笔记](https://cyent.github.io/markdown-with-mkdocs-material/),前者介绍了 mkdocs-material 主题的插件使用方式,而后者介绍了 markdown 传统语法和 mkdocs-material 支持的扩展语法。 如果对 mkdocs-material(我们使用的这个主题)还有什么问题,还可以查阅[MkDocs 使用说明](https://github.com/ctf-wiki/ctf-wiki/wiki/Mkdocs-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)和[cyent 的笔记](https://cyent.github.io/markdown-with-mkdocs-material/),前者介绍了 mkdocs-material 主题的插件使用方式,而后者介绍了 Markdown 传统语法和 mkdocs-material 支持的扩展语法。 ## 图解 可能上述要求把握起来有些困难,接下来我们给出一些图片来具体分析哪种格式应该使用,哪种不该使用。 可能上述要求把握起来有些困难,接下来我们给出一些图片来具体分析哪种格式应该使用,哪种不该使用: ### 例 1  将复杂的 LaTeX 公式使用行间格式,可以使得页面错落有致。但 OI Wiki 作为一个以中文为主体的站点,我们希望大部分纲领性的信息(如标题)尽量使用中文(除英文专有名词)。 将复杂的 LaTeX 公式使用行间格式,可以使得页面错落有致。但 **OI Wiki** 作为一个以中文为主体的站点,我们希望大部分纲领性的信息(如标题)尽量使用中文(除英文专有名词)。 ### 例 2 Loading @@ -174,13 +174,13 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对  一般情况下,我们建议将引用的资料在页面末位罗列。同时一定要避免使用 LaTeX 公式表达代码,上图中两个中括号就是不规范的写法。我们建议使用 `dp(i,j)` 或者 `dp_{i,j}` 。 `l[j]` 同理。 一般情况下,我们建议将引用的资料在页面末位罗列。同时一定要避免使用 LaTeX 公式表达代码,上图中两个中括号就是不规范的写法。我们建议使用 `dp(i,j)` 或者 `dp_{i,j}` 。 ### 例 4  注意我们描述 **乘法** 的时侯一般使用 `\times` 或者 `\cdot` ,特殊情况(如卷积)下会使用 `*` (也可以写成 `\ast` )。标题是简洁的词组,但我们不希望正文部分由词组拼凑而成。上图中“两个要素”,建议更改为“动态规划的原理具有以下两个要素”,上下文保持连贯。可取的地方是,适当使用 **有序** 列表可以更有条理地表述内容,同时注意,在使用列表的时侯,每一项如果是一个长句,需要在末位添加 **标点符号** 。通常是添加分号,在最后一项末位添加句号。 注意我们描述 **乘法** 的时侯一般使用 `\times` 或者 `\cdot` ,特殊情况(如卷积)下会使用 `*` (也可以写成 `\ast` )。标题是简洁的词组,但我们不希望正文部分由词组拼凑而成。上图中“两个要素”,建议更改为“动态规划的原理具有以下两个要素”,上下文保持连贯。可取的地方是,适当使用 **有序** 列表可以更有条理地表述内容,同时注意,在使用列表的时侯,每一项如果是一句话,需要在末位添加 **标点符号** 。通常是添加分号,在最后一项末位添加句号。 ### 例 5 Loading @@ -198,7 +198,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对  使用 mkdocs 扩展语法,让例题题面与算法描述区分开。将代码折叠,可以让文章更紧凑(毕竟看 Wiki 的大多数是了解思路,除了模板代码需要阅读外,习题的代码大多可以折叠)。在描述函数操作时,使用行内代码和 LaTeX 公式都是不错的选择。 使用 MkDocs 扩展语法,让例题题面与算法描述区分开。将代码折叠,可以让文章更紧凑。(毕竟看 Wiki 的大多数是了解思路,除了模板代码需要阅读外,习题的代码大多可以折叠)。在描述函数操作时,使用行内代码和 LaTeX 公式都是不错的选择。 ### 例 8 Loading