OSDN Git Service

style: fix style
authorIr1d <sirius.caffrey@gmail.com>
Wed, 22 Aug 2018 14:29:17 +0000 (22:29 +0800)
committerIr1d <sirius.caffrey@gmail.com>
Wed, 22 Aug 2018 14:29:17 +0000 (22:29 +0800)
docs/introduction/faq.md
docs/string/sa.md

index 355a570..4589108 100644 (file)
@@ -8,7 +8,7 @@ Telegram 群组链接为 [@OIwiki](https://t.me/OIwiki) , QQ 群号码为 [`58
 
 ### 我之前没怎么用过 Github
 
-参与 Wiki 的编写 **需要** 一个 Github 账号, **不需要** 高超的 Github 技巧。
+参与 Wiki 的编写 ** 需要 ** 一个 Github 账号, ** 不需要 ** 高超的 Github 技巧。
 
 举个栗子,假如我想要修改一个页面内容,应该怎么操作呢?
 
@@ -23,12 +23,13 @@ Telegram 群组链接为 [@OIwiki](https://t.me/OIwiki) , QQ 群号码为 [`58
 
 ### 我之前用过 Github
 
-基本协作方式如下
+基本协作方式如下:
+
 1. Fork 主仓库到自己的仓库中。
 2. 当想要贡献某部分内容时,请务必仔细查看 **Issue**,以便确定是否有人已经开始了这项工作。当然,我们更希望你可以加入 QQ / Telegram 群组,方便交流。
-3. 在决定将内容推送到本仓库时,**请你首先拉取本仓库代码进行合并,自行处理好冲突,同时确保在本地可以正常生成文档**,然后再将分支 PR 到主仓库的 master 分支上。其中,PR 需要包含以下基本信息
-  * 标题:本次 PR 的目的(做了什么工作,修复了什么问题)
-  内容:如果必要的话,请给出对修复问题的叙述
+3. 在决定将内容推送到本仓库时,** 请你首先拉取本仓库代码进行合并,自行处理好冲突,同时确保在本地可以正常生成文档 **,然后再将分支 PR 到主仓库的 master 分支上。其中,PR 需要包含以下基本信息   
+  标题:本次 PR 的目的(做了什么工作,修复了什么问题)  
+  内容:如果必要的话,请给出对修复问题的叙述
 
 目前,(人员较少),基本上可以忽略 2-3 步,可以直接在 GitHub 网页版进行修改。
 
@@ -46,20 +47,20 @@ Telegram 群组链接为 [@OIwiki](https://t.me/OIwiki) , QQ 群号码为 [`58
 
 ### 文档的合理性
 
-所谓合理性,指所编写的 **内容** 必须具有如下的特性
+所谓合理性,指所编写的 ** 内容 ** 必须具有如下的特性
 
 - 由浅入深,内容的难度应该具有渐进性。
 - 逻辑性,对于每类内容的撰写应该尽量包含以下的内容
    - 原理,说明该内容对应的原理。
    - 例子,给出 1 ~ 2 个典型的例子。
-   - 题目,在该标题下, **只需要给出题目名字、题目链接**
+   - 题目,在该标题下, ** 只需要给出题目名字、题目链接 **
 
 ### 文档存储的格式
 
 对于每类要编写的内容,对应的文档应该存储在合适的目录下
 
 - images, 存储文档介绍时所使用的图片,位置为所添加的目录下(即格式为 `![](./images/xx.jpg)`)。
-- **文件名请务必都小写,以 `-` 分割, 如 `file-name`**
+- ** 文件名请务必都小写,以 `-` 分割, 如 `file-name`**
 
 ## F.A.Q.
 
@@ -173,7 +174,7 @@ A:一切源于热爱。你可以协助其他人审核修改稿件,帮助我
 
 Q:现在主要是谁在做这件事啊?感觉这是个大坑,真的能做好吗?
 
-A:现在主要是一些退役老年选手在做这件事,靠的都是信仰。这种“用爱发电”的事情,困难重重,我们也不知道能不能做好。但是如果这件事能够推动 **OI** 的发展,也是蛮有意义的呢。我们希望在这里打的这个广告,可以帮助这个团队遇见更多志同道合的人。
+A:现在主要是一些退役老年选手在做这件事,靠的都是信仰。这种 “用爱发电” 的事情,困难重重,我们也不知道能不能做好。但是如果这件事能够推动 **OI** 的发展,也是蛮有意义的呢。我们希望在这里打的这个广告,可以帮助这个团队遇见更多志同道合的人。
 
 Q:听说过 nocow 吧,**OI Wiki** 怎么保证我们添加的内容不会像 nocow 那样突然间就不见了呢?
 
index 8b50c45..39e8007 100644 (file)
@@ -1,4 +1,4 @@
-## 1.前言
+## 1. 前言
 
 ### 后缀数组和后缀树
 
@@ -6,21 +6,21 @@
 
 ### 各种定义
 
-`子串`: 就是子串[捂脸]
+` 子串 `: 就是子串 [捂脸]
 
-`后缀`: 就是从 $i$ 这个位置开始到该字符串的末尾的一个子串
+` 后缀 `: 就是从 $i$ 这个位置开始到该字符串的末尾的一个子串
 
-`字符串大小`: $a$ 和 $b$ 这两个串,从头开始逐个字符按照ASSIC码进行比较
+` 字符串大小 `: $a$ 和 $b$ 这两个串,从头开始逐个字符按照 ASSIC 码进行比较
 
-`后缀数组`: $sa[i]$代表该字符串的$len$个后缀中,排名为 $i$ 的后缀是第$sa[i]$个后缀
+` 后缀数组 `: $sa[i]$ 代表该字符串的 $len$ 个后缀中,排名为 $i$ 的后缀是第 $sa[i]$ 个后缀
 
-`名词数组`: $rank[i]$代表第 $i$ 个后缀排名为$rank[i]$
+` 名词数组 `: $rank[i]$ 代表第 $i$ 个后缀排名为 $rank[i]$
 
-## 2.一些构造方法
+## 2. 一些构造方法
 
 ### 最简单的暴力
 
-把所有的后缀拆出来,然后sort
+把所有的后缀拆出来,然后 sort
 
 思想较为简单,可自行尝试实现
 
@@ -67,7 +67,7 @@ int main()
 
 复杂度是 $O(nlogn)$ 
 
-前提是你要先会**基数排序**
+前提是你要先会 ** 基数排序 **
 
 假设我们有这样一个字符串 `aabaaaab`
 
@@ -81,7 +81,7 @@ int main()
 
 接着我们以第二个字母为关键字,在首字母有序的基础上进行排序,这个时候,我们把首字母相同的后缀拿出来单看
 
-对于每一组首字母相同的后缀,首字母是对排序没有影响的,所以可以直接按照第二个字母进行基数排序,同样,对于首字母不同的后缀,由于按照首字母排序时,他们的相对大小已经确定,当按照第二个字母排序时,不会出现`原来a>b,现在b>a`的现象,所以我们可以看成一直在做区域内的排序,这之后变成这样:
+对于每一组首字母相同的后缀,首字母是对排序没有影响的,所以可以直接按照第二个字母进行基数排序,同样,对于首字母不同的后缀,由于按照首字母排序时,他们的相对大小已经确定,当按照第二个字母排序时,不会出现 ` 原来 a>b,现在 b>a` 的现象,所以我们可以看成一直在做区域内的排序,这之后变成这样:
 
 ![](images/sa3.png)
 
@@ -89,9 +89,9 @@ int main()
 
 这样子我们可以处理这个问题,可是复杂度还是没有到达一个我们可以接受的范围
 
-所以我们引入**倍增**
+所以我们引入 ** 倍增 **
 
-当我们按照每个后缀的前 $2^k$个字母进行完排序后,那么我们把后缀的前 $2^{k+1}$看做前后两个 $2^k$,这样我们就可以把这前后两个 $2^k$作为之前说的`首字母`和`第二个字母`了,然后进行上述过程,就可以在 $O(nlogn)$ 的复杂度内处理这个问题了
+当我们按照每个后缀的前 $2^k$ 个字母进行完排序后,那么我们把后缀的前 $2^{k+1}$ 看做前后两个 $2^k$, 这样我们就可以把这前后两个 $2^k$ 作为之前说的 ` 首字母 ` 和 ` 第二个字母 ` 了,然后进行上述过程,就可以在 $O(nlogn)$ 的复杂度内处理这个问题了
 
 ```cpp
 #include <bits/stdc++.h>
@@ -139,15 +139,15 @@ int main ()
     SA ();
     
     for (int i=1;i<=n;i++) 
-        printf("%d ",sa[i]);
+        printf("%d",sa[i]);
     exit(0);
 }
 ```
 
 代码里 $x[i]$ 就是 $rank[i]$ 
 
-$y[i]$ :假设 $y[i]=a\ ,\  y[i+1]=b$ 那么在原串中 从$a+2^k$开始的$2^k$个字符组成的子串 **小于等于** 从$b+2^k$开始的$2^k$个字符组成的子串
+$y[i]$ :假设 $y[i]=a\ ,\  y[i+1]=b$ 那么在原串中 从 $a+2^k$ 开始的 $2^k$ 个字符组成的子串 ** 小于等于 ** 从 $b+2^k$ 开始的 $2^k$ 个字符组成的子串
 
 最好理解这个代码时,每一步都结合这基数排序来考虑
 
-**by 周运沛**
\ No newline at end of file
+**by 周运沛 **
\ No newline at end of file