摘要: Dijkstra 朴素版 朴素版 解题思路 和prime方法的思路是一样的,只不过这次我们不找离最小生成树最近的节点,而是寻找离源点距离最近的节点,同时也要记录节点是否被访问过,以避免重复访问。因此,minDist变成用来存储 每一个节点距离源点的最小距离。 堆优化版 堆优化版 解题思路 用邻接表存 阅读全文
posted @ 2024-08-21 05:47 不进育碧不改名 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序精讲 拓扑排序精讲 解题思路 拓扑排序是用来将一个有向图转成线性的排序。也能作为判断有向无环图的工具 知识点 利用广度优先,先确定初始点,初始点应该是入度为0的节点,随后反复进行以下两步: 找到入度为0的节点,加入结果集 将该节点从图中移除 在该过程中,我们利用一个队列来存放结果集。 该过程 阅读全文
posted @ 2024-08-21 04:30 不进育碧不改名 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 最小生成树 最小生成树是所有节点的最小连通子图,即该子图中所有边的权重之和最小。 prim算法精讲 prim算法精讲 解题思路 prim是贪心的思路,每次寻找距离 最小生成树 最近的节点,并加入到最小生成树中。以下是核心步骤 选距离生成树最近节点 最近节点加入生成树 更新非生成树节点到生成树的距离 阅读全文
posted @ 2024-08-21 04:09 不进育碧不改名 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 并查集是用来判断两个元素是否在同一集合内,或者将两个元素放入同一个集合中。并查集使用的方法是通过将所有元素转化成一个高度为一的多叉树,如果这两个元素的根相同,那么他们就是一个以下是代码模板 int n = 1005; // n根据题目中节点数量而定,一般比节点数量大一点就好 vector<int> 阅读全文
posted @ 2024-08-21 03:48 不进育碧不改名 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 字符串接龙 字符串接龙 解题思路 利用每次更改一次的特性在字典中来找到符合条件的字符串,同时,我们利用set数据结构来筛选该字符串是否被访问过,同时记录到达该字符串所需要的路径长度 知识点 心得 有向图的完全可达性 有向图的完全可达性 解题思路 有向图和无向图的区别在于它的边是有方向的,因此我们需要 阅读全文
posted @ 2024-08-18 06:05 不进育碧不改名 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 孤岛的总面积 孤岛的总面积 解题思路 知识点 心得 沉没孤岛 沉没孤岛 解题思路 知识点 心得 题目3 题目链接 解题思路 知识点 心得 阅读全文
posted @ 2024-08-13 04:01 不进育碧不改名 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 岛屿数量 深搜 岛屿数量 解题思路 利用深度优先算法,先额外设置一个数组记录该节点是否遍历过,之后在回溯的过程中更改该数组的状态。对于题目来说,判断有没有一个海岛的方法就是有没有遇到1并把1周围所有的海岛区域遍历 知识点 dps 心得 学会了如何套用模板解题 岛屿数量 广搜 岛屿数量 广搜 解题思路 阅读全文
posted @ 2024-08-11 00:41 不进育碧不改名 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 所有可达路径 所有可达路径 解题思路 使用深度优先算法进行遍历 知识点 深度优先 心得 深度优先也是回溯算法的一种 阅读全文
posted @ 2024-08-09 21:34 不进育碧不改名 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 接雨水 接雨水 解题思路 跟昨天的单调栈不同,我们每次弹出时要保存弹出的值,并且和现在的栈顶值比较选出一个坐标对应的最大值,然后和当前值相减得到最大高度,然后再利用弹出的下标值求出宽度,最后的水滴格数就是w 乘以 h. 知识点 单调栈 心得 没有想到水滴格的求法,其余都写出来了。 柱状图中最大的矩形 阅读全文
posted @ 2024-08-09 04:41 不进育碧不改名 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 每日温度 每日温度 解题思路 单调栈的意思其实是指栈内的元素单调递增/递减,我们可以通过这个特性存储元素的下标,然后每次入栈时与栈顶坐标的元素进行比较,如果小于等于就不需要弹出直接存入, 如果大于,则需要不断弹出栈顶直到遇到一个小于其的栈顶元素或者栈为空。 知识点 单调栈 心得 学会了如何写单调栈和 阅读全文
posted @ 2024-08-07 18:36 不进育碧不改名 阅读(61) 评论(0) 推荐(0) 编辑