![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心策略与动态规划
海伦•
求知若渴,大智若愚
展开
-
过河 (贪心)
poj 1700过河时间限制:1000MS 内存限制:10000K 提交总数:22299 接受:8211 描述一群N人希望过一条只有一条船的河,最多可以载两个人。因此,必须安排某种穿梭布置,以便来回划船,以便所有人都可以穿越。每个人都有不同的划船速度;一对夫妇的速度取决于较慢的速度。您的工作是确定一种策略,以最大限度地缩短这些人的时间...原创 2019-04-26 10:57:12 · 463 阅读 · 0 评论 -
区间调度(贪心+类的排序法则)
分析:找出方案,要找出最佳策略就联想到贪心,进过找规律,可以看到,当每次选择最早结束项目的那个项目,那么最后项目总数就会越多。所以就要对类进行排序,按他的结束时间进行排序。 Arrays.sort()只有对整数字符串进行排序的规则(自带比较方法),对类的排序是不确定的,所以要实现接口,也就是他的排序规则。 排序规则:当结束时间相等的时候就对按开始时间进行排序,否则就按截止时间有小到大...原创 2019-04-26 17:15:18 · 273 阅读 · 0 评论 -
字典去最小问题(贪心)
Poj 3617Best Cow LineTime Limit:1000MS Memory Limit:65536K Total Submissions:38885 Accepted:10015 DescriptionFJ is about to take hisN(1 ≤N≤ 2,000) cows to the an...原创 2019-04-26 19:39:38 · 127 阅读 · 0 评论 -
购物最大价值物品(01背包)
动态规划:最优子问题 或者 子问题最优性的一般算法 找出dp方程 解决重叠子问题(减少求解次数)是记忆型递推、递归1.递归解决个人觉得这种方法更加容易理解重点是将无脑的递归转化为,有记忆形式的递归。(也就是去掉重复计算)也就是利用空间交换时间上的效率。import java.util.Scanner;public class Main { pu...原创 2019-04-26 21:35:10 · 377 阅读 · 0 评论 -
数字三角形(dp)
1,二维从上到下规划分析:如果用dfs,下面就会存在重叠求上方某一位置最大值的情况 这种情况下并没有重新开辟空间,一不失为一种好方法import java.util.Scanner;public class Main { public static int n; public static int a[][]; public static void main(...原创 2019-04-27 10:41:25 · 210 阅读 · 0 评论 -
最长公共子序列(dp)
题目:求两个字符串的最长公共子序列(注意并不应要求是连续的哦)分析:用动态规划找出dp方程时注意要用到的是二位数组,因为当次循环可能会用到的是没有被改变的原始值,而不是动态变化的 dp方程:当找到匹配的一个字符串时 : dp [i][j] = max( dp[i - 1][j -1] + 1,dp[i - 1][j]); 当未有匹配的字符时 dp...原创 2019-04-27 21:40:08 · 614 阅读 · 0 评论 -
完全背包问题
01背包现在对题目的要求不是每种物体只有一个而是想要多个都有。所以讲01背包问题转化为完全背包问题。下面为完全背包的代码注意:这里因为要用到当行变化的情况。所以不能像01背包那样最后优化为一维数组。 状态转移方: if(j - w[i] >= 0){ dp[i][j] = max(dp[i -...原创 2019-04-28 10:52:58 · 136 阅读 · 0 评论 -
硬币问题(贪心)
动态规划和贪心算法都是一种递推的方法,当存在最优子结构的时候,用动态规划,贪心是动态规划的特例注意:那么当存在最的时候就要想到贪心和动态规划1.深度优先剪枝策略分析 :先按大的选,有结果就输出,没结果就倒退,选到出最佳方案后就就退出(剪枝)import java.util.Scanner;public class Main { public static int...原创 2019-04-25 11:12:20 · 822 阅读 · 0 评论 -
迷宫————动态规划
目录1 百度之星1 百度之星 LabyrinthProblemDescription度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有...原创 2019-05-21 09:41:25 · 1353 阅读 · 0 评论