OSDN Git Service

fix(state.md): 将英文标题替换为了中文
authorMout-sea <2582621015@qq.com>
Tue, 26 Jan 2021 13:16:23 +0000 (21:16 +0800)
committerMout-sea <2582621015@qq.com>
Tue, 26 Jan 2021 13:16:23 +0000 (21:16 +0800)
docs/dp/opt/state.md

index b0b8ab2..6f156f0 100644 (file)
@@ -6,13 +6,12 @@ author: TrisolarisHD, partychicken, Xeonacid
 
 令人比较头疼的是,这类优化大多不具有通用性,即不能很套路地应用于多个题目中。因此,下文将从具体例题出发,力求提供思路上的启发,希望可以对读者有一定帮助。
 
-## Example I
+## 例 1
 
-### Problem
+???+note "题面"
+    给定两个长度分别为 $n,m$ 且仅由小写字母构成的字符串 $A,B$ , 求 $A,B$ 的最长公共子序列。$(n\le 10^6,m\le 10^3)$ 
 
-给定两个长度分别为 $n,m$ 且仅由小写字母构成的字符串 $A,B$ , 求 $A,B$ 的最长公共子序列。 $(n\le 10^6,m\le 10^3)$ 
-
-### Naive solution
+### 简单的解法
 
 您一眼秒了它,这不是板子吗?
 
@@ -28,7 +27,7 @@ $$
 
 上述做法的时间复杂度 $O(nm)$ ,无法通过本题。
 
-### Better solution
+### 更优的解法
 
 我们仔细一想,发现了一个性质:最终答案不会超过 $m$ 。
 
@@ -40,13 +39,12 @@ $$
 
 复杂度 $O(m^2+26n)$ ,可以通过本题。
 
-## Example II
-
-### Problem
+## 例 2
 
-给定一个 $n$ 个点的无权有向图,判断该图是否存在哈密顿回路。 $(2\le n\le 20)$ 
+???+note "题面"
+    给定一个 $n$ 个点的无权有向图,判断该图是否存在哈密顿回路。$(2\le n\le 20)$ 
 
-### Naive solution
+### 简单的解法
 
 看到数据范围,我们考虑状压。
 
@@ -58,10 +56,11 @@ $$
 
 时间复杂度 $O(n^2 \times 2^n)$ ,写得好看或许能过,但是并不优美。
 
-### Better solution
+### 更优的解法
 
 上面的状态设计中,每个 $dp$ 值只代表一个 `bool` 值,这让我们觉得有些浪费。
 
 我们可以考虑对于每个状态 $s$ 将 $f_{s,1},f_{s,2},\dots,f_{s,n}$ 压成一个 `int` ,发现我们可以将邻接矩阵同样压缩后进行 $O(1)$ 转移。
 
 时间复杂度 $O(n\times 2^n)$ , 可以通过这道题。
+