- 博客(10)
- 收藏
- 关注
原创 prim算法VSkruskal算法
的经典算法,但它们在实现方式、适用场景和时间复杂度上有所不同。Prim 算法和 Kruskal 算法都是用于求解。
2025-03-26 13:10:35
242
原创 最小生成树(Kruskal和Prim算法)
连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点vi与vj都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边,则必定成环。
2024-07-24 15:26:36
931
原创 STLC++
STL C++ 常用容器1. 序列式容器(Sequence Containers)vector概述: 动态数组,可以自动扩展大小。常用操作:size(): 返回元素个数。empty(): 判断是否为空。clear(): 清空所有元素。push_back(): 在末尾添加元素。pop_back(): 删除末尾元素。front(): 返回第一个元素。back(): 返回最后一个元素。begin(), end(): 返回迭代器。operator[]: 访问元素。deque
2024-07-24 15:20:24
266
原创 解释上一个文章遗留的问题
二维数组 被用作动态规划的辅助数组,它的作用是存储在不同的背包容量和不同的物品选取情况下所能达到的最大总价值。具体来说, 表示在前 i 个物品中选取,并且背包容量限制为 j 时所能达到的最大总价值。在动态规划的过程中, 的计算依赖于前一行 和可能的另一项 。其中 表示不选择当前物品 i 的情况下的最大价值,而 表示选择当前物品 i 后的最大价值。通过比较这两种情况的价值,更新 为较大的那个值,从而不断地填充 数组,直到计算得到 ,即前 n 个物品在背包容量为 m 时的最大总价值。因此, 数组在这
2024-03-25 11:29:42
990
1
原创 01背包问题
二维数组 被用作动态规划的辅助数组,它的作用是存储在不同的背包容量和不同的物品选取情况下所能达到的最大总价值。具体来说, 表示在前 i 个物品中选取,并且背包容量限制为 j 时所能达到的最大总价值。在动态规划的过程中, 的计算依赖于前一行 和可能的另一项 。其中 表示不选择当前物品 i 的情况下的最大价值,而 表示选择当前物品 i 后的最大价值。通过比较这两种情况的价值,更新 为较大的那个值,从而不断地填充 数组,直到计算得到 ,即前 n 个物品在背包容量为 m 时的最大总价值。因此, 数组在这
2024-03-24 21:19:43
570
1
原创 鸣人与佐助
佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉,每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动,每移动一个距离需要花费1个单位时间,打败大蛇丸的手下不需要时间。如果鸣人查克拉消耗完了,则只可以走到没有大蛇丸手下的位置,不可以再移动到有大蛇丸手下的位置。佐助在此期间不移动,大蛇丸的手下也不移
2023-02-15 08:34:53
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人