![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划和贪心算法
不想WA
记录我的学习笔记呀
展开
-
Dijkstra法解单源最短路径问题(附手写堆代码)
Dijkstra法解单源最短路径问题(附手写堆代码)原题来自洛谷【模板】单源最短路径(标准版)题目描述给定一个 nnn 个点,mmm 条有向边的带非负权图,请你计算从 sss 出发,到每个点的距离。数据保证你能从 sss 出发到任意点。输入格式第一行为三个正整数 n,m,sn,m,sn,m,s 。 第二行起 mmm 行,每行三个非负整数 ui,vi,wi, 表示从 ui到 vi 有一条权值为 wi 的有向边。输出格式输出一行 nnn 个空格分隔的非负整数,表示 sss 到每个点的最短距离。原创 2020-11-30 19:09:09 · 471 阅读 · 0 评论 -
动态规划解矩阵链乘法
题目描述用加括号的方式给出最优的矩阵相乘方案输入第一行一个整数 n,表示矩阵链的长度(1<=n<=300)接下来一行n+1个数表示这些矩阵的行数和列数n+1个数中,每相邻的两个数表示一个矩阵的大小输出对于每组数据,输出两行,第一行为计算次数,第二行为计算方案,用加括号的方式给出最优的矩阵相乘方案如果不幸最优方案不唯一,选择优先计算左边的矩阵输入样例310 20 5 4输出样例1200((A1A2)A3)代码实现# include <bits/stdc++原创 2020-10-28 14:43:18 · 246 阅读 · 0 评论 -
动态规划解钢条切割问题
题目描述给一条钢管,切割成不同长度的钢管(也可以不切割),不同的钢管长度对应不同的价值,求这根钢管获得的最大价值。输入第一行包含一个正整数L,为钢管的长度。第二行包含L个正整数a1…aL,为长度从1到L的钢管对应的价值。输出输出一行,为钢管能获得的最大价值。输入样例51 10 14 8 16输出样例24思考后直接想到采用自底向上的动态规划法,即从2到n(n为钢管长度)存入每一个长度的钢管的最优价值,并逐步往上(利用之前已存的数据)下面给出完整代码# include <bi原创 2020-10-28 10:28:33 · 491 阅读 · 0 评论