From 7aa973b561943cf30ee53b162250f0e37ad4fb0e Mon Sep 17 00:00:00 2001
From: youngyangyang04 <826123027@qq.com>
Date: Sun, 6 Jul 2025 11:26:06 +0800
Subject: [PATCH] Update
---
problems/0042.接雨水.md | 3 +-
.../kamacoder/0044.开发商购买土地.md | 1 -
problems/kamacoder/0047.参会dijkstra堆.md | 1 -
.../kamacoder/0047.参会dijkstra朴素.md | 1 -
problems/kamacoder/0053.寻宝-Kruskal.md | 1 -
problems/kamacoder/0053.寻宝-prim.md | 1 -
problems/kamacoder/0054.替换数字.md | 1 -
problems/kamacoder/0055.右旋字符串.md | 1 -
problems/kamacoder/0058.区间和.md | 1 -
.../0094.城市间货物运输I-SPFA.md | 1 -
.../kamacoder/0094.城市间货物运输I.md | 1 -
.../kamacoder/0095.城市间货物运输II.md | 101 +++++++++++++++++-
.../0096.城市间货物运输III.md | 1 -
problems/kamacoder/0097.小明逛公园.md | 1 -
problems/kamacoder/0098.所有可达路径.md | 2 +-
.../kamacoder/0099.岛屿的数量广搜.md | 3 +-
.../kamacoder/0099.岛屿的数量深搜.md | 3 +-
.../kamacoder/0100.岛屿的最大面积.md | 3 +-
problems/kamacoder/0101.孤岛的总面积.md | 3 +-
problems/kamacoder/0102.沉没孤岛.md | 3 +-
problems/kamacoder/0103.水流问题.md | 3 +-
problems/kamacoder/0104.建造最大岛屿.md | 3 +-
.../0105.有向图的完全可达性.md | 5 +-
problems/kamacoder/0106.岛屿的周长.md | 3 +-
.../kamacoder/0107.寻找存在的路径.md | 1 -
problems/kamacoder/0108.冗余连接.md | 1 -
problems/kamacoder/0109.冗余连接II.md | 1 -
problems/kamacoder/0110.字符串接龙.md | 3 +-
problems/kamacoder/0117.软件构建.md | 1 -
.../kamacoder/0126.骑士的攻击astar.md | 1 -
.../kamacoder/图论为什么用ACM模式.md | 1 -
.../kamacoder/图论并查集理论基础.md | 1 -
.../kamacoder/图论广搜理论基础.md | 3 +-
problems/kamacoder/图论总结篇.md | 1 -
.../kamacoder/图论深搜理论基础.md | 3 +-
problems/kamacoder/图论理论基础.md | 3 +-
.../kamacoder/最短路问题总结篇.md | 1 -
problems/qita/shejimoshi.md | 57 ----------
problems/动态规划总结篇.md | 2 +-
39 files changed, 127 insertions(+), 100 deletions(-)
delete mode 100644 problems/qita/shejimoshi.md
diff --git a/problems/0042.接雨水.md b/problems/0042.接雨水.md
index c208637b..62fbe270 100755
--- a/problems/0042.接雨水.md
+++ b/problems/0042.接雨水.md
@@ -14,8 +14,7 @@
示例 1:
-
-
+
* 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
* 输出:6
* 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。
diff --git a/problems/kamacoder/0044.开发商购买土地.md b/problems/kamacoder/0044.开发商购买土地.md
index cb5fbb74..64804842 100644
--- a/problems/kamacoder/0044.开发商购买土地.md
+++ b/problems/kamacoder/0044.开发商购买土地.md
@@ -613,4 +613,3 @@ func main() {
}
```
-

diff --git a/problems/kamacoder/0047.参会dijkstra堆.md b/problems/kamacoder/0047.参会dijkstra堆.md
index 80d7851e..fceef239 100644
--- a/problems/kamacoder/0047.参会dijkstra堆.md
+++ b/problems/kamacoder/0047.参会dijkstra堆.md
@@ -927,4 +927,3 @@ func main() {
### C
-
diff --git a/problems/kamacoder/0047.参会dijkstra朴素.md b/problems/kamacoder/0047.参会dijkstra朴素.md
index 42099df9..2498643a 100644
--- a/problems/kamacoder/0047.参会dijkstra朴素.md
+++ b/problems/kamacoder/0047.参会dijkstra朴素.md
@@ -942,4 +942,3 @@ main()
### C
-
diff --git a/problems/kamacoder/0053.寻宝-Kruskal.md b/problems/kamacoder/0053.寻宝-Kruskal.md
index 53da7af9..a7022c5d 100644
--- a/problems/kamacoder/0053.寻宝-Kruskal.md
+++ b/problems/kamacoder/0053.寻宝-Kruskal.md
@@ -760,4 +760,3 @@ int main()
}
```
-
diff --git a/problems/kamacoder/0053.寻宝-prim.md b/problems/kamacoder/0053.寻宝-prim.md
index df0129ee..d3f0aeb3 100644
--- a/problems/kamacoder/0053.寻宝-prim.md
+++ b/problems/kamacoder/0053.寻宝-prim.md
@@ -757,4 +757,3 @@ main()
### C
-
diff --git a/problems/kamacoder/0054.替换数字.md b/problems/kamacoder/0054.替换数字.md
index 67d31a55..6679f68b 100644
--- a/problems/kamacoder/0054.替换数字.md
+++ b/problems/kamacoder/0054.替换数字.md
@@ -432,4 +432,3 @@ echo $s;
### Rust:
-
diff --git a/problems/kamacoder/0055.右旋字符串.md b/problems/kamacoder/0055.右旋字符串.md
index be998390..b0918f4e 100644
--- a/problems/kamacoder/0055.右旋字符串.md
+++ b/problems/kamacoder/0055.右旋字符串.md
@@ -409,4 +409,3 @@ echo $s;
### Rust:
-
diff --git a/problems/kamacoder/0058.区间和.md b/problems/kamacoder/0058.区间和.md
index 894e0383..b62adcfc 100644
--- a/problems/kamacoder/0058.区间和.md
+++ b/problems/kamacoder/0058.区间和.md
@@ -408,4 +408,3 @@ func main() {
}
```
-
diff --git a/problems/kamacoder/0094.城市间货物运输I-SPFA.md b/problems/kamacoder/0094.城市间货物运输I-SPFA.md
index 9d3fbe83..bebc2f39 100644
--- a/problems/kamacoder/0094.城市间货物运输I-SPFA.md
+++ b/problems/kamacoder/0094.城市间货物运输I-SPFA.md
@@ -536,4 +536,3 @@ main()
-
diff --git a/problems/kamacoder/0094.城市间货物运输I.md b/problems/kamacoder/0094.城市间货物运输I.md
index 63d1be2a..fc79bcde 100644
--- a/problems/kamacoder/0094.城市间货物运输I.md
+++ b/problems/kamacoder/0094.城市间货物运输I.md
@@ -538,4 +538,3 @@ main()
### C
-
diff --git a/problems/kamacoder/0095.城市间货物运输II.md b/problems/kamacoder/0095.城市间货物运输II.md
index 957b8a80..f9cf8151 100644
--- a/problems/kamacoder/0095.城市间货物运输II.md
+++ b/problems/kamacoder/0095.城市间货物运输II.md
@@ -183,7 +183,6 @@ struct Edge { //邻接表
Edge(int t, int w): to(t), val(w) {} // 构造函数
};
-
int main() {
int n, m, p1, p2, val;
cin >> n >> m;
@@ -229,6 +228,103 @@ int main() {
}
}
}
+ if (flag) cout << "circle" << endl;
+ else if (minDist[end] == INT_MAX) {
+ cout << "unconnected" << endl;
+ } else {
+ cout << minDist[end] << endl;
+ }
+}
+```
+
+以上代码看上去没问题,但提交之后会发现报错了,为什么呢?
+
+例如这组数据:
+
+```
+4 6
+1 4 3
+1 2 1
+1 3 1
+3 2 -2
+2 4 1
+3 4 0
+```
+
+如图:
+
+
+
+上面代码在执行的过程中,节点4 已经出队列了,但 计算入度会反复计算 节点4的入度,导致 误判 该图有环。
+
+我们需要记录哪些节点已经出队列了,哪些节点在队列里面,对于已经出队列的节点不用统计入度,以下为优化后的代码:
+
+```CPP
+#include
+#include
+#include
+#include
+#include
+using namespace std;
+
+struct Edge { //邻接表
+ int to; // 链接的节点
+ int val; // 边的权重
+
+ Edge(int t, int w): to(t), val(w) {} // 构造函数
+};
+
+
+int main() {
+ int n, m, p1, p2, val;
+ cin >> n >> m;
+
+ vector> grid(n + 1); // 邻接表
+
+ // 将所有边保存起来
+ for(int i = 0; i < m; i++){
+ cin >> p1 >> p2 >> val;
+ // p1 指向 p2,权值为 val
+ grid[p1].push_back(Edge(p2, val));
+ }
+ int start = 1; // 起点
+ int end = n; // 终点
+
+ vector minDist(n + 1 , INT_MAX);
+ minDist[start] = 0;
+
+ queue que;
+ que.push(start); // 队列里放入起点
+
+ vector count(n+1, 0); // 记录节点加入队列几次
+ count[start]++;
+ vector inQueue(n+1, false); // 记录节点是否在队列中
+
+ bool flag = false;
+ while (!que.empty()) {
+
+ int node = que.front(); que.pop();
+ inQueue[node] = false; // 节点出队
+
+ for (Edge edge : grid[node]) {
+ int from = node;
+ int to = edge.to;
+ int value = edge.val;
+ if (minDist[to] > minDist[from] + value) { // 开始松弛
+ minDist[to] = minDist[from] + value;
+ if (!inQueue[to]) { // 避免重复入队
+ que.push(to);
+ inQueue[to] = true;
+ count[to]++;
+ if (count[to] == n) {// 如果加入队列次数超过 n-1次 就说明该图与负权回路
+ flag = true;
+ while (!que.empty()) que.pop();
+ break;
+ }
+ }
+ }
+ }
+ }
if (flag) cout << "circle" << endl;
else if (minDist[end] == INT_MAX) {
@@ -236,9 +332,7 @@ int main() {
} else {
cout << minDist[end] << endl;
}
-
}
-
```
## 其他语言版本
@@ -456,4 +550,3 @@ if __name__ == "__main__":
### C
-
diff --git a/problems/kamacoder/0096.城市间货物运输III.md b/problems/kamacoder/0096.城市间货物运输III.md
index 0c00ccb6..7d85435e 100644
--- a/problems/kamacoder/0096.城市间货物运输III.md
+++ b/problems/kamacoder/0096.城市间货物运输III.md
@@ -922,4 +922,3 @@ if __name__ == "__main__":
### C
-
diff --git a/problems/kamacoder/0097.小明逛公园.md b/problems/kamacoder/0097.小明逛公园.md
index 53e66ee4..a2b673b3 100644
--- a/problems/kamacoder/0097.小明逛公园.md
+++ b/problems/kamacoder/0097.小明逛公园.md
@@ -574,4 +574,3 @@ if __name__ == '__main__':
### C
-
diff --git a/problems/kamacoder/0098.所有可达路径.md b/problems/kamacoder/0098.所有可达路径.md
index c7198199..8853f78f 100644
--- a/problems/kamacoder/0098.所有可达路径.md
+++ b/problems/kamacoder/0098.所有可达路径.md
@@ -72,6 +72,7 @@
* 1 <= N <= 100
* 1 <= M <= 500
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[所有可达路径](https://www.bilibili.com/video/BV1VePeepEpP),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 插曲
@@ -887,4 +888,3 @@ async function dfs(graph, x, n) {
-
diff --git a/problems/kamacoder/0099.岛屿的数量广搜.md b/problems/kamacoder/0099.岛屿的数量广搜.md
index 93c1fe41..cfa6af18 100644
--- a/problems/kamacoder/0099.岛屿的数量广搜.md
+++ b/problems/kamacoder/0099.岛屿的数量广搜.md
@@ -46,6 +46,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:广搜有陷阱啊!! | 广度优先搜索 | 卡码网:99.岛屿数量](https://www.bilibili.com/video/BV18PRGYcEiB/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
注意题目中每座岛屿只能由**水平方向和/或竖直方向上**相邻的陆地连接形成。
也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图:
@@ -557,4 +559,3 @@ object Solution {
### C
-
diff --git a/problems/kamacoder/0099.岛屿的数量深搜.md b/problems/kamacoder/0099.岛屿的数量深搜.md
index 3c54278a..fb824aef 100644
--- a/problems/kamacoder/0099.岛屿的数量深搜.md
+++ b/problems/kamacoder/0099.岛屿的数量深搜.md
@@ -46,6 +46,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:来用深搜解决一道题目,两种深搜写法,你掉坑了吗? | 卡码网:99.岛屿数量](https://www.bilibili.com/video/BV18PRGYcEiB/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
注意题目中每座岛屿只能由**水平方向和/或竖直方向上**相邻的陆地连接形成。
也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图:
@@ -459,4 +461,3 @@ object Solution {
### C
-
diff --git a/problems/kamacoder/0100.岛屿的最大面积.md b/problems/kamacoder/0100.岛屿的最大面积.md
index 2ae1f452..fc024f61 100644
--- a/problems/kamacoder/0100.岛屿的最大面积.md
+++ b/problems/kamacoder/0100.岛屿的最大面积.md
@@ -44,6 +44,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:深搜也有陷阱啊!! | 深搜优先搜索 | 卡码网:100.岛屿的最大面积](https://www.bilibili.com/video/BV1FzoyY5EXH),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
注意题目中每座岛屿只能由**水平方向和/或竖直方向上**相邻的陆地连接形成。
也就是说斜角度链接是不算了, 例如示例二,是三个岛屿,如图:
@@ -890,4 +892,3 @@ main();
### C
-
diff --git a/problems/kamacoder/0101.孤岛的总面积.md b/problems/kamacoder/0101.孤岛的总面积.md
index c8831007..b3f66b96 100644
--- a/problems/kamacoder/0101.孤岛的总面积.md
+++ b/problems/kamacoder/0101.孤岛的总面积.md
@@ -48,6 +48,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:岛屿问题再出新花样 | 深搜优先搜索 | 卡码网:101.孤岛总面积](https://www.bilibili.com/video/BV1mmZJYRESc),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
本题使用dfs,bfs,并查集都是可以的。
本题要求找到不靠边的陆地面积,那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋,然后再去重新遍历地图 统计此时还剩下的陆地就可以了。
@@ -700,4 +702,3 @@ const bfs = (graph, x, y) => {
### C
-
diff --git a/problems/kamacoder/0102.沉没孤岛.md b/problems/kamacoder/0102.沉没孤岛.md
index 1b316762..e335a018 100644
--- a/problems/kamacoder/0102.沉没孤岛.md
+++ b/problems/kamacoder/0102.沉没孤岛.md
@@ -55,6 +55,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:岛屿问题也需要逆向思考 | 深搜优先搜索DFS | 卡码网:102.沉没孤岛](https://www.bilibili.com/video/BV1fjdWYyEGu),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
这道题目和[0101.孤岛的总面积](https://kamacoder.com/problempage.php?pid=1173)正好反过来了,[0101.孤岛的总面积](https://kamacoder.com/problempage.php?pid=1173)是求 地图中间的空格数,而本题是要把地图中间的 1 都改成 0 。
那么两题在思路上也是差不多的。
@@ -503,4 +505,3 @@ const bfs = (graph, x, y) => {
### C
-
diff --git a/problems/kamacoder/0103.水流问题.md b/problems/kamacoder/0103.水流问题.md
index bf6cd40f..9ae8f745 100644
--- a/problems/kamacoder/0103.水流问题.md
+++ b/problems/kamacoder/0103.水流问题.md
@@ -59,6 +59,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:水流向何方? | 深搜优先搜索DFS| 广度优先搜索BFS | 卡码网:103.水流问题](https://www.bilibili.com/video/BV1WNoEYrEio),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
一个比较直白的想法,其实就是 遍历每个点,然后看这个点 能不能同时到达第一组边界和第二组边界。
至于遍历方式,可以用dfs,也可以用bfs,以下用dfs来举例。
@@ -854,4 +856,3 @@ const isResult = (x, y) => {
-
diff --git a/problems/kamacoder/0104.建造最大岛屿.md b/problems/kamacoder/0104.建造最大岛屿.md
index 8c4964a9..619c5bcc 100644
--- a/problems/kamacoder/0104.建造最大岛屿.md
+++ b/problems/kamacoder/0104.建造最大岛屿.md
@@ -50,6 +50,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:岛屿问题上难度了! |深搜优先搜索DFS | 广度优先搜索BFS | 卡码网:104.建造最大岛屿](https://www.bilibili.com/video/BV1Dn5CzZEw1/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
本题的一个暴力想法,应该是遍历地图尝试 将每一个 0 改成1,然后去搜索地图中的最大的岛屿面积。
计算地图的最大面积:遍历地图 + 深搜岛屿,时间复杂度为 n * n。
@@ -663,4 +665,3 @@ const dfs = (graph, visited, x, y, mark) => {
### C
-
diff --git a/problems/kamacoder/0105.有向图的完全可达性.md b/problems/kamacoder/0105.有向图的完全可达性.md
index 1358f673..014050fd 100644
--- a/problems/kamacoder/0105.有向图的完全可达性.md
+++ b/problems/kamacoder/0105.有向图的完全可达性.md
@@ -1,7 +1,7 @@
参与本项目,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们受益!
-# 105.有向图的完全可达性
+# 105.有向图的完全联通
[卡码网题目链接(ACM模式)](https://kamacoder.com/problempage.php?pid=1177)
@@ -44,6 +44,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:这次我们能到达有向图的所有节点吗?| 深度优先搜索 | 卡码网:105. 有向图的完全联通](https://www.bilibili.com/video/BV1QRJ6ziEvJ),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
本题给我们是一个有向图, 意识到这是有向图很重要!
接下来我们再画一个图,从图里可以直观看出来,节点6 是 不能到达节点1 的
@@ -553,4 +555,3 @@ rl.on('close',()=>{
### C
-
diff --git a/problems/kamacoder/0106.岛屿的周长.md b/problems/kamacoder/0106.岛屿的周长.md
index 4492d5cd..3708715a 100644
--- a/problems/kamacoder/0106.岛屿的周长.md
+++ b/problems/kamacoder/0106.岛屿的周长.md
@@ -47,6 +47,8 @@
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:这次的岛屿问题有点简单了。。 卡码网:106.岛屿的周长](https://www.bilibili.com/video/BV13fjczSEyV),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
岛屿问题最容易让人想到BFS或者DFS,但本题确实还用不上。
为了避免大家惯性思维,所以给大家安排了这道题目。
@@ -359,4 +361,3 @@ func parseLine(line string, count int) []int {
### C
-
diff --git a/problems/kamacoder/0107.寻找存在的路径.md b/problems/kamacoder/0107.寻找存在的路径.md
index 9ab3388f..572d4712 100644
--- a/problems/kamacoder/0107.寻找存在的路径.md
+++ b/problems/kamacoder/0107.寻找存在的路径.md
@@ -422,4 +422,3 @@ const isSame = (u, v) => {
### C
-
diff --git a/problems/kamacoder/0108.冗余连接.md b/problems/kamacoder/0108.冗余连接.md
index de243507..a5076468 100644
--- a/problems/kamacoder/0108.冗余连接.md
+++ b/problems/kamacoder/0108.冗余连接.md
@@ -376,4 +376,3 @@ const isSame = (u, v) => {
### C
-
diff --git a/problems/kamacoder/0109.冗余连接II.md b/problems/kamacoder/0109.冗余连接II.md
index 6ad59c41..fb8edbee 100644
--- a/problems/kamacoder/0109.冗余连接II.md
+++ b/problems/kamacoder/0109.冗余连接II.md
@@ -596,4 +596,3 @@ const getRemoveEdge = (edges) => {
### C
-
diff --git a/problems/kamacoder/0110.字符串接龙.md b/problems/kamacoder/0110.字符串接龙.md
index 6cb5886d..facb5f21 100644
--- a/problems/kamacoder/0110.字符串接龙.md
+++ b/problems/kamacoder/0110.字符串接龙.md
@@ -63,6 +63,8 @@ yhn
## 思路
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论:朴实无华的广搜这么难? | 广度优先搜索 | 卡码网:110.字符串接龙](https://www.bilibili.com/video/BV1QEEizDEC4),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
以示例1为例,从这个图中可以看出 abc 到 def的路线 不止一条,但最短的一条路径上是4个节点。

@@ -360,4 +362,3 @@ const init = async () => {
### C
-
diff --git a/problems/kamacoder/0117.软件构建.md b/problems/kamacoder/0117.软件构建.md
index c5650d97..d92eede5 100644
--- a/problems/kamacoder/0117.软件构建.md
+++ b/problems/kamacoder/0117.软件构建.md
@@ -539,4 +539,3 @@ const init = async () => {
### C
-
diff --git a/problems/kamacoder/0126.骑士的攻击astar.md b/problems/kamacoder/0126.骑士的攻击astar.md
index 6669ce7b..8fd331e3 100644
--- a/problems/kamacoder/0126.骑士的攻击astar.md
+++ b/problems/kamacoder/0126.骑士的攻击astar.md
@@ -684,4 +684,3 @@ int main() {
-
diff --git a/problems/kamacoder/图论为什么用ACM模式.md b/problems/kamacoder/图论为什么用ACM模式.md
index c5122b17..362ea971 100644
--- a/problems/kamacoder/图论为什么用ACM模式.md
+++ b/problems/kamacoder/图论为什么用ACM模式.md
@@ -91,4 +91,3 @@ cout << result[result.size() - 1];
等大家将图论刷完,就会感受到我的良苦用心。加油
-
diff --git a/problems/kamacoder/图论并查集理论基础.md b/problems/kamacoder/图论并查集理论基础.md
index 61d49b52..9566a7b7 100644
--- a/problems/kamacoder/图论并查集理论基础.md
+++ b/problems/kamacoder/图论并查集理论基础.md
@@ -454,4 +454,3 @@ void join(int u, int v) {
敬请期待 并查集题目精讲系列。
-
diff --git a/problems/kamacoder/图论广搜理论基础.md b/problems/kamacoder/图论广搜理论基础.md
index 718f5484..c76917b7 100644
--- a/problems/kamacoder/图论广搜理论基础.md
+++ b/problems/kamacoder/图论广搜理论基础.md
@@ -1,5 +1,7 @@
# 广度优先搜索理论基础
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[广度优先搜索理论基础](https://www.bilibili.com/video/BV1M19iY4EL9),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
在[深度优先搜索](./图论深搜理论基础.md)的讲解中,我们就讲过深度优先搜索和广度优先搜索的区别。
广搜(bfs)是一圈一圈的搜索过程,和深搜(dfs)是一条路跑到黑然后再回溯。
@@ -102,4 +104,3 @@ void bfs(vector>& grid, vector>& visited, int x, int y
相信看完本篇,大家会对广搜有一个基础性的认识,后面再来做对应的题目就会得心应手一些。
-
diff --git a/problems/kamacoder/图论总结篇.md b/problems/kamacoder/图论总结篇.md
index d7b8da94..d89d6411 100644
--- a/problems/kamacoder/图论总结篇.md
+++ b/problems/kamacoder/图论总结篇.md
@@ -143,4 +143,3 @@ kruscal的主要思路:
图论也是我 《代码随想录》所有章节里 所费精力最大的一个章节。
只为了不负录友们的期待。 大家加油💪🏻
-
diff --git a/problems/kamacoder/图论深搜理论基础.md b/problems/kamacoder/图论深搜理论基础.md
index 50df8aa6..29256de4 100644
--- a/problems/kamacoder/图论深搜理论基础.md
+++ b/problems/kamacoder/图论深搜理论基础.md
@@ -1,6 +1,8 @@
# 深度优先搜索理论基础
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[深度优先搜索理论基础](https://www.bilibili.com/video/BV1hFA8eKE6C),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
录友们期待图论内容已久了,为什么鸽了这么久,主要是最近半年开始更新[代码随想录算法公开课](https://www.bilibili.com/video/BV1fA4y1o715/),是开源在B站的算法视频,已经帮助非常多基础不好的录友学习算法。
录视频其实是非常累的,也要花很多时间,所以图论这边就没抽出时间来。
@@ -194,4 +196,3 @@ for (选择:本节点所连接的其他节点) {
后面我也会给大家安排具体练习的题目,依旧是代码随想录的风格,循序渐进由浅入深!
-
diff --git a/problems/kamacoder/图论理论基础.md b/problems/kamacoder/图论理论基础.md
index fb52c839..13c59374 100644
--- a/problems/kamacoder/图论理论基础.md
+++ b/problems/kamacoder/图论理论基础.md
@@ -1,6 +1,8 @@
# 图论理论基础
+**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[图论理论基础](https://www.bilibili.com/video/BV1hYNBeYEvb/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
+
这一篇我们正式开始图论!
代码随想录图论中的算法题目将统一使用ACM模式,[为什么要使用ACM模式](./图论为什么用ACM模式.md)
@@ -246,4 +248,3 @@ dfs 和 bfs 一种搜索算法,可以在不同的数据结构上进行搜索
敬请期待!
-
diff --git a/problems/kamacoder/最短路问题总结篇.md b/problems/kamacoder/最短路问题总结篇.md
index 194f1f5e..041d41b1 100644
--- a/problems/kamacoder/最短路问题总结篇.md
+++ b/problems/kamacoder/最短路问题总结篇.md
@@ -51,4 +51,3 @@
-
diff --git a/problems/qita/shejimoshi.md b/problems/qita/shejimoshi.md
deleted file mode 100644
index 959a3fa9..00000000
--- a/problems/qita/shejimoshi.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
-# 23种设计模式精讲 | 配套练习题 | 卡码网
-
-关于设计模式的学习,大家应该还是看书或者看博客,但却没有一个边学边练的学习环境。
-
-学完了一种设计模式 是不是应该去练一练?
-
-所以卡码网 针对 23种设计,**推出了 23道编程题目,来帮助大家练习设计模式**。
-
-
-
-这里的23到编程题目对应了 23种这几模式。 例如第一题,小明的购物车,就是单例模式:
-
-
-
-区别于网上其他教程,本教程的特点是:
-
-* **23种设计模式全覆盖**,涵盖了所有Gang of Four设计模式,包括创建型、结构型和行为型设计模式。
-* 通过23道简单而实用的例子,**以刷算法题的形式了解每种设计模式的概念、结构和应用场景**。
-* **为每个设计模式提供清晰的文字解释、结构图和代码演示**,帮助你更好地理解和实践。
-* **难度安排循序渐进**,从基础的、常用的设计模式逐步深入。
-
-这样的一个学习体验,要收费吗?
-
-**免费的**!
-
-相信录友们可能还没有这种学习设计模式的体验,快去卡码网(kamacoder.com)上体验吧。
-
-23道 设计模式的题目给大家出了,那么是不是得安排上对应的讲解?
-
-**当然安排**!
-
-针对每道题目,还给大家编写了一套 23种设计模式精讲,已经开源到Github上:
-
-> https://github.com/youngyangyang04/kama-DesignPattern
-
-支持Java,Python,Go,C++ 版本,也欢迎大家去Github上提交PR,补充其他语言版本。
-
-所以题解也免费开放给录友!
-
-同时还给全部整理到PDF上,这份PDF,我们写的很用心了,来个大家截个图:
-
-
-
-
-
-
-
-
-
-关于设计模式的题目,大家现在就可以去 卡码网(kamacoder)去做了。
-
-关于这23道题目对应 设计模式精讲 PDF,也免费分享给录友们,大家可以加我的企业微信获取:
-
-
-已经有我企业微信的录友,直接发:设计模式,这四个字就好,我会直接发你。
-
diff --git a/problems/动态规划总结篇.md b/problems/动态规划总结篇.md
index 32df8af4..83d88cf4 100755
--- a/problems/动态规划总结篇.md
+++ b/problems/动态规划总结篇.md
@@ -115,7 +115,7 @@
能把本篇中列举的题目都研究通透的话,你的动规水平就已经非常高了。 对付面试已经足够!
-
+
这个图是 [代码随想录知识星球](https://programmercarl.com/other/kstar.html) 成员:[青](https://wx.zsxq.com/dweb2/index/footprint/185251215558842),所画,总结的非常好,分享给大家。