随笔分类 -  算法

摘要:简单动态规划 前置知识 + 英文缩写 + e.g. 例如 + etc. 等等 + P.S. 备注 硬币问题 您有无限多的硬币,面值为1,5,10,20,50,100 给定一个数额w,问您最少用多少枚硬币可以凑出w + 贪心 + 先尽量用100的,然后尽量用50的……以此类推. + e.g. 666 阅读全文
posted @ 2019-08-05 17:14 探险家_H 阅读(165) 评论(0) 推荐(0)
摘要:最短路问题 + 求从s到t权值和最小的路径 + Floyd 算法: + 多源最短路,求出所有点对的最短路长度 + 时间复杂度:$O(n^3)$ + Dijkstra 算法: + 单源最短路,求出某个点s到所有点的最短路长度 + 时间复杂度:$O(n^2)/O(mlogn)$ + 无法处理负权 + S 阅读全文
posted @ 2019-07-31 12:24 探险家_H 阅读(131) 评论(0) 推荐(0)
摘要:最小生成树 Prim Prim算法流程 + 随意选取一个点作为已访问集合的第一个点,并将所有相连的边加入最小堆中 + 从堆中找到最小的连接集合内和集合外点的边,将边加入最小生成树中 + 将集合外点标记为已访问,并将连边加入堆 + 重复以上过程直到所有点都在访问集合中 代码 Kruskal Krusk 阅读全文
posted @ 2019-07-31 10:53 探险家_H 阅读(113) 评论(0) 推荐(0)
摘要:#include #define re register using namespace std; const int N(100001); const int M(200001); const int INF(0x7fffffff); struct f1{ int v; int w; int nxt; }e[M]; int n,m,s,cnt; int head... 阅读全文
posted @ 2019-05-18 06:41 探险家_H 阅读(291) 评论(0) 推荐(0)
摘要:#include #define N 200001 #define M 500001 #define pr pair #define mk make_pair using namespace std; const int INF = 0x7fffffff; struct Node{ int v,val,nxt; }e[M]; int n,m,s,top; int dist[N]... 阅读全文
posted @ 2019-05-18 06:39 探险家_H 阅读(230) 评论(0) 推荐(0)