Unverified Commit 15f060a3 authored by Shuhao Zhang's avatar Shuhao Zhang Committed by GitHub
Browse files

Merge branch 'master' into scc

parents 7315af22 0cde8289
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -279,7 +279,7 @@

LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对于 LaTeX 的使用我们有严格的要求。如果您想要快速上手,可以阅读本章节末给出的表格。

-   使用 Roman 体表示常量和函数。LaTeX 已经预先定义好了一些常见的常量、函数、运算符等,我们可以直接调用,包括但不限于:
-   使用 Roman 体表示常量和函数。使用 Italic 体表示变量。LaTeX 已经预先定义好了一些常见的常量、函数、运算符等,我们可以直接调用,包括但不限于:

    ```latex
    \log, \ln, \lg, \sin, \cos, \tan, \sec, \csc, \cot, \gcd, \min, \max, \exp, \inf, \mod, \bmod, \pmod
@@ -287,7 +287,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对

    所以在输入常量、函数名、运算符等时,请先检查一下是否应该使用 Roman 体或其它字体。LaTeX 符号的书写可参考 [KaTeX 的 Supported Functions 页面](https://katex.org/docs/supported.html) (不是全部),也可以搜索求解。

    如果遇到没有预先定义好的需要使用 Roman 体的 **函数名** ,我们可以使用 `$\operatorname{something}$` 来产生,如我们可以使用 `$\operatorname{lcm}$` 产生正体的最小公倍数(函数)符号。同理,产生 Roman 体的 **常量** 应用 `$\mathrm{}$` ;产生 Roman 体粗体符号应用 `$\mathbf{}$` ;产生 Italic 体粗体符号应用 `$\boldsymbol{}$` (如向量 $\boldsymbol{a}$ )。其他非数学内容,包括英文、特殊符号等,一律使用 `$\text{}$` 。中文我们则建议不放在 LaTeX 公式中。
    如果遇到没有预先定义好的需要使用 Roman 体的 **函数名** ,我们可以使用 `$\operatorname{something}$` 来产生,如我们可以使用 `$\operatorname{lcm}$` 产生正体的最小公倍数(函数)符号。同理,产生 Roman 体的 **常量** 应用 `$\mathrm{}$` ;产生 Roman 体粗体符号应用 `$\mathbf{}$` ;产生 Italic 体粗体符号应用 `$\boldsymbol{}$` (如向量 $\boldsymbol{a}$ )。对于多字母的变量,应当使用 `$\textit{}$` 。其他非数学内容,包括英文、特殊符号等,一律使用 `$\text{}$` 。中文我们则建议不放在 LaTeX 公式中。

- 在行内使用分数的时候,请使用 `$\dfrac{}{}$` 。比如 `$\dfrac{1}{2}$` ,效果 $\dfrac{1}{2}$ ,而不是 `$\frac{1}{2}$` ,效果 $\frac{1}{2}$ 。

@@ -334,6 +334,7 @@ LaTeX 作为公式排版的首选,我们应当正确地使用它。因此对
|  `$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^*$          |  `$\mathbf{R}$, $\mathbf{N}^*$`            |  $\mathbf{R}$ , $\mathbf{N}^*$              |
|  `$\emptyset$`      |  $\emptyset$      |  `$\varnothing$`                           |  $\varnothing$                              |
|  `$different$`      |  $different$      |  `$\textit{different}$`                    |  $\textit{different}$                       |

#### 对数学公式的附加格式要求

+27 −4
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ Geany 是一个轻量、便捷的编辑器,对于 Linux 环境下的初学者
### 缺点

1. 没有太多人使用;
2. 在 macOS Catalina 下有一些权限问题;
2. 在 macOS Catalina 下有一些权限问题[^1]
3. 新建文件时,默认不会有语法高亮,需要保存为 C++ 文件后才会有;
4. 如果从模板新建 C++ 文件,后缀名为\*.cxx,而不是我们所熟悉的\*.cpp。

@@ -49,9 +49,24 @@ Geany 是一个轻量、便捷的编辑器,对于 Linux 环境下的初学者

如遇到 `No package 'gtk+-2.0' found` 可能需要安装 `libgtk2.0-dev` (使用 `apt` 等包管理器 即可)

## 使用技巧

### 使用模板新建\*.cpp 文件

默认情况下,在 Geany 中新建的文件不会带有语法高亮,只有在保存为带有相应语言扩展名的文件(比如:\*.cpp)后才会显示。如果从模板新建文件(*文件 -> 从模板新建*),则会显示语法高亮。然而,C++ 模板中只有\*.cxx 文件的模板,但是在 OI 中我们常接触到的是\*.cpp 文件[^2]。我们可以自己建立一个\*.cpp 文件模板。

在配置文件目录下建立 templates/files 文件夹,并在其中建立一个名为 `file.cpp` 的空文件,再次打开 Geany,就可以在*文件 -> 从模板新建*中找到它了。

配置文件目录可以通过*帮助 -> 调试信息*的第二、三行找出。

这里给出 macOS 和 Linux 下的默认模板配置文件目录:

- 系统目录:/usr/share/geany/templates/files/
- 用户目录:~/。config/geany/templates/files/[^3]

## 常见问题

兼容深度终端
### 兼容深度终端

在首选项→工具→虚拟终端,修改终端的命令为:

@@ -59,6 +74,14 @@ Geany 是一个轻量、便捷的编辑器,对于 Linux 环境下的初学者
deepin-terminal -x "/bin/sh" %c
```

点击“应用”按钮后即可。
点击“应用”按钮即可。[^4]

## 参考资料与注释

[^1]: 详见: <https://github.com/geany/geany/issues/2344> 

[^2]: 注意:文件扩展名的不同仅仅是习惯问题,无实际影响。

[^3]: 来源: <https://wiki.geany.org/config/templates> 

来源:Deepin Wiki <https://wiki.deepin.org/> 
[^4]: 来源:Deepin Wiki <https://wiki.deepin.org/> 
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ $$
000,001,011,010,110,111,101,100
$$

注意序列的下标我们以 $0$ 为起点,也就是说 $G(0)=000,G(4)=100$ 。
注意序列的下标我们以 $0$ 为起点,也就是说 $G(0)=000,G(4)=110$ 。

格雷码由贝尔实验室的 Frank Gray 于 1940 年代提出,并于 1953 年获得专利。

+1 −1
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ $$

算法总复杂度: $O(n\sqrt{n} )$ 

下面的代码中 `deno` 表示答案的分母 (denominator), `nume` 表示分子numerator), `sqn` 表示块的大小: $\sqrt{n}$ , `arr` 是输入的数组, `node` 是存储询问的结构体, `tab` 是询问序列(排序后的), `col` 同上所述。
下面的代码中 `deno` 表示答案的分母 (denominator), `nume` 表示分子 (numerator), `sqn` 表示块的大小: $\sqrt{n}$ , `arr` 是输入的数组, `node` 是存储询问的结构体, `tab` 是询问序列(排序后的), `col` 同上所述。

 **注意:由于 `++l` 和 `--r` 的存在,下面代码中的移动区间的 4 个 for 循环的位置很关键,不能改变它们之间的位置关系。**