随笔分类 - 动态规划
摘要:题目大意:在一个数字串中找到连个连续的字串(这两个字串可以相邻),使得两个字串和最大。 思路:最大字串的变形。找出每个数字左边和最大的串,右边和最大的串, 然后左右相加算出最大的和。 代码如下: cpp include include include define MAX 0x6fffffff us
阅读全文
摘要:题目大意:给出五种硬币,价值分别为 1,5,10,25,50,。当给出一个价值时,求出能够组合的种数(每种硬币可以用无限次)。 思路:完全背包, dp[i][j]表示总数 i 能够被表示的种数。状态转移方程为 dp[i][j] = dp[i k v[j]][j 1] (k = 0,1,2,3......
阅读全文
摘要:题目大意: 有 n 项作业需要完成,每项作业有上交的期限和需完成的天数,若某项作业晚交一天则扣一分。输入每项作业时包括三部分,作业名称,上交期限,完成所需要的天数。求出完成所有作业时所扣掉的分数最少,同时输出完成作业的顺序(若有多组结果,输出按字典序排列最小的那组)。(输入时,按名称的字典序输入)思...
阅读全文
摘要:题目大意:从起点 1 开始走遍所有的点,回到起点 1 ,求出所走的最短长度。思路:首先利用 Floyed 求出任意两点之间的最短距离 dis[i][j]。求出任意两点之间的最短距离后,运用动态规划。dp[s][i] 表示当前状态为s时,最后一个到达的点为 1 时走过的最短距离。 将状态状态 ...
阅读全文

浙公网安备 33010602011771号