Skip to content

Commit eb47637

Browse files
committed
20240306
1 parent 4e5f29f commit eb47637

File tree

3 files changed

+44
-22
lines changed

3 files changed

+44
-22
lines changed

.obsidian/workspace.json

+7-20
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,13 @@
1313
"state": {
1414
"type": "markdown",
1515
"state": {
16-
"file": "数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md",
16+
"file": "数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md",
1717
"mode": "source",
1818
"backlinks": true,
1919
"source": false
2020
}
2121
}
2222
},
23-
{
24-
"id": "0bba93acb34bf8cd",
25-
"type": "leaf",
26-
"state": {
27-
"type": "markdown",
28-
"state": {
29-
"file": "数据结构与算法/004.左程云算法通关/002.必备/001.算法笔试中处理输入和输出.md",
30-
"mode": "preview",
31-
"backlinks": true,
32-
"source": false
33-
}
34-
}
35-
},
3623
{
3724
"id": "d43d73d1ebd10c2c",
3825
"type": "leaf",
@@ -115,7 +102,7 @@
115102
"state": {
116103
"type": "outline",
117104
"state": {
118-
"file": "数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md"
105+
"file": "数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md"
119106
}
120107
}
121108
},
@@ -125,7 +112,7 @@
125112
"state": {
126113
"type": "outgoing-link",
127114
"state": {
128-
"file": "数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md",
115+
"file": "数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md",
129116
"linksCollapsed": false,
130117
"unlinkedCollapsed": true
131118
}
@@ -137,7 +124,7 @@
137124
"state": {
138125
"type": "backlink",
139126
"state": {
140-
"file": "数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md",
127+
"file": "数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md",
141128
"collapseAll": true,
142129
"extraContext": false,
143130
"sortOrder": "alphabetical",
@@ -166,7 +153,7 @@
166153
"state": {
167154
"type": "file-properties",
168155
"state": {
169-
"file": "数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md"
156+
"file": "数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md"
170157
}
171158
}
172159
}
@@ -191,8 +178,9 @@
191178
},
192179
"active": "b051a08796ef8944",
193180
"lastOpenFiles": [
194-
"数据结构与算法/004.左程云算法通关/002.必备/023.最大公约数、同余原理.md",
195181
"数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md",
182+
"数据结构与算法/004.左程云算法通关/002.必备/060.树型dp-上.md",
183+
"数据结构与算法/004.左程云算法通关/002.必备/023.最大公约数、同余原理.md",
196184
"数据结构与算法/004.左程云算法通关/002.必备/058.区间dp-上.md",
197185
"数据结构与算法/004.左程云算法通关/002.必备/001.算法笔试中处理输入和输出.md",
198186
"数据结构与算法/004.左程云算法通关/002.必备/drawing/移除盒子.excalidraw.md",
@@ -225,7 +213,6 @@
225213
"数据结构与算法/004.左程云算法通关/002.必备/003.归并排序.md",
226214
"数据结构与算法/004.左程云算法通关/002.必备/drawing/多重背包通过单调队列优化枚举1.excalidraw.svg",
227215
"数据结构与算法/004.左程云算法通关/002.必备/056.分组背包、完全背包.md",
228-
"数据结构与算法/004.左程云算法通关/002.必备/drawing/有一次修改机会的最长不下降子序列.excalidraw.md",
229216
"数据结构与算法/004.左程云算法通关/002.必备/drawing/通配符匹配.excalidraw.svg",
230217
"数据结构与算法/001.代码随想录/010.动态规划/000.动态规划.pdf",
231218
"数据结构与算法/004.左程云算法通关/002.必备/drawing/assets",

数据结构与算法/004.左程云算法通关/002.必备/059.区间dp-下.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
date: 2023-12-29 13:46
3-
modified: 2024-03-06 17:16
3+
modified: 2024-03-06 17:34
44
---
55

66
>前置知识:[[049.从递归入手二维动态规划|讲解067]][[050.见识更多二维动态规划题目|讲解068]] 二维动态规划及其空间压缩技巧、[[058.区间dp-上|区间dp-上]]
@@ -827,4 +827,4 @@ func countPalindromicSubsequences(s string) int {
827827
- $O(n^2)$:动态规划表的大小
828828
- $O(1)$:归功于数据预处理,每个格子的枚举是常数操作
829829
- 空间复杂度:$O(n^2)$
830-
- 依赖的格子规律性差,难做空间压缩
830+
- 依赖的格子规律性较差,难以做空间压缩
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
date: 2024-03-06 17:34
3+
modified: 2024-03-06 17:35
4+
---
5+
6+
>前置知识:[[017.二叉树及其三种序的递归实现|讲解017]][[018.二叉树遍历的非递归实现和复杂度分析|讲解018]][[018.二叉树高频题目-上-不含树型dp|讲解036]][[019.二叉树高频题目-下-不含树型dp|讲解037]] 二叉树基础内容、[[041.建图、链式前向星、拓扑排序|建图、链式前向星建图、拓扑排序]][[042.拓扑排序的扩展技巧|拓扑排序的扩展技巧]](讲的题就是有向无环图上做动态规划)
7+
8+
# 树型 dp
9+
10+
本节课讲述最常见的树型 dp 问题,详解树型 dp 的解题套路
11+
12+
下节课会讲述树型 dp 利用 dfn 序的内容
13+
14+
## 树是一种有向无环图
15+
16+
头节点没有父亲,其他节点只有一个父亲的有向无环图,直观理解为发散状
17+
18+
在树上,从头节点出发到任何节点的路径是唯一的,不管二叉树还是多叉树都如此
19+
20+
树型 dp 在树上做动态规划,依赖关系比一般动态规划简单,因为绝大部分多数都是父依赖子
21+
22+
注意:只是依赖关系简单,不代表题目简单
23+
24+
## 树型 dp 套路
25+
26+
1. 分析父树得到答案需要子树的哪些信息
27+
2. 把子树信息的全集定义成递归返回值
28+
3. 通过递归让子树返回全集信息
29+
4. 整合子树的全集信息得到父树的全集信息并返回
30+
31+
## 备注
32+
33+
[[042.拓扑排序的扩展技巧|拓扑排序的扩展技巧]] 讲的是 DAG(Directed Acyclic Graph,有向无环图)上做动态规划,不要跳过
34+
35+
树型 dp 中有关==换根 dp== 的内容,将放在【扩展】课程阶段讲述

0 commit comments

Comments
 (0)