随笔分类 -  Algorithm

一些常用算法
摘要:Prim算法(最小生成树)首先给出子图的定义: 子图: 设G = <V, E>,G' = <V', E'>为两个图(同为无向图or有向图), 如果V' ⊆ V && E' ⊆ E,则称G'为G的子图,G称为G'的母图,记作G' ⊆ G。 如果V' = V,则称G' 为 G 的生成子图(用到了所有的点 但不一定用到所有的边的子 阅读全文
posted @ 2022-04-30 20:12 Conqueror712 阅读(301) 评论(0) 推荐(0) 编辑
摘要:Djikstra算法Dijkstra算法: Dijkstra算法常用于求无负权边中的最短路, 在优化后有比Bellman-Ford算法优秀很多的时间复杂度。 同样的,我们引入记号: G = <V,E>代表一个简单有向图(简单图:没有重边和自环) n = |V|代表顶点数 m = |E|代表边数 l(u,v)代表u到v的 阅读全文
posted @ 2022-04-24 10:10 Conqueror712 阅读(139) 评论(0) 推荐(0) 编辑
摘要:最短路算法入门(Bellman-Ford算法)前置: 对于无向图中的一条边(u↔v),可以看作有向图中两条边(u→v)and(v→u)的结合。 我们可以通过这种方式把无向图转化为有向图, 从而使用有向图的最短路算法。 图的一些记号: G = <V,E>代表一个简单有向图(简单图:没有重边和自环) n = |V|代表顶点数 m = |E|代表边数 阅读全文
posted @ 2022-04-16 15:04 Conqueror712 阅读(100) 评论(0) 推荐(0) 编辑
摘要:Backpack_Problem背包问题背包问题入门篇 首先当然是我们最熟悉的01背包啦! 最简单的想法是,二维dp数组,不考虑其他的优化。 状态: dp[i][j] 表示取第 i 个物品,总体积为 j 时候的情况。 那么我们就会获得两种转移情况,对于下一个物品。一种是取了,一种是没取。 于是我们获得了状态转移方程: dp[i][j] = 阅读全文
posted @ 2022-04-06 10:25 Conqueror712 阅读(39) 评论(0) 推荐(0) 编辑
摘要:KMP算法简析暂且就先以一道洛谷板子题作为讲解吧, 直接上代码,部分代码参考了优秀的大佬们的优秀的题解。(确实人家的码风很好呜呜呜) 1 #include<bits/stdc++.h> 2 #define ios ios::sync_with_stdio(false);cin.tie(0),cout.tie(0) 阅读全文
posted @ 2022-03-31 22:06 Conqueror712 阅读(44) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示