贪心策略 很多时候,我们只需要找到问题的最优解,如果使用盲目搜索策略,就必须先找出所有解,再进一步比较哪个是最优的,当在解空间十分庞大时,难免有些浪费体力的感觉。这时候,不妨试试更高效的贪心策略。 贪心策略也叫贪心算法(greedy algorithm)或贪婪算法,是一种强有力的穷举 ...
背包问题 DP 有一个背包,背包容量是M kg。有 个物品,物品不可以分割成任意大小。要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。 背包 f j max f j ,f j w i c i 搬书 DP 陈老师桌上的书有三堆,每一堆都有厚厚的一叠,你想逗一下陈老师,于是你设计一个最累的方式给他,让他把书拿下来给同学们。若告诉你这三堆分别有i,j,k本书,以及每堆从下到上书的质量,每次取书 ...
2019-10-29 23:01 1 283 推荐指数:
贪心策略 很多时候,我们只需要找到问题的最优解,如果使用盲目搜索策略,就必须先找出所有解,再进一步比较哪个是最优的,当在解空间十分庞大时,难免有些浪费体力的感觉。这时候,不妨试试更高效的贪心策略。 贪心策略也叫贪心算法(greedy algorithm)或贪婪算法,是一种强有力的穷举 ...
由于我太懒了,所以就不每题开一篇写了。题目大意也懒得写了。 DAY1 1A 显然最优策略是瞎走,在知道那条边断掉了之后才走最短路径。 先把以 \(T\) 为根的最短路树求出来,然后可以用堆求出断掉每条边后端点到 \(T\) 的最短路径。 最后像 dijk 那样 DP ...
哈夫曼编码还是在暑假时候看的,那时候并没有看懂因为比较菜(虽然现在也是很菜的),在《趣学算法》一书中这个问题讲解十分到位,我这篇博客真的是难以望其项背,只能对其进行一点借鉴和摘抄吧 哈夫曼编码是一棵树,权值越大的节点越靠近树根,越小的节点就越远离树根,从他的定义来看,首先想到的应该是贪心策略 ...
昨天和前天写完了分治和dp,感觉收获真的挺大的,复习绝不是简单的重复记忆,而是将所学知识融会 贯通的过程,分析各种思想的异同,这些都是在平时学习和刷题的时候没有认真考虑的问题 好了,扯远了 今天分析一下到底什么叫贪心策略 怎么理解贪心:贪心在解决问题上是目光短浅的,仅仅根据当前的已知信息 ...
1. 分配饼干 2. 不重叠的区间个数 3. 投飞镖刺破气球 4. 根据身高和序号重组队列 5. 买卖股票最大的收益 6. 买卖股票的最大收益 II 7. 种植花朵 8 ...
贪心:贪婪算法是一种算法范例,它遵循在每个阶段做出局部最优选择的启发式求解方法,目的是寻找到一个全局最优解。 用处:①活动安排 设有N个活动时间集合,每个活动都要使用同一个资源,比如说会议场,而且同一时间内只能有一个活动使用,每个活动都有一个使用活动的开始si和结束时间fi ...
1. 模拟费用流贪心(可撤销贪心) 一个非常玄妙的算法。 *I. CF280D k-Maximum Subsequence Sum 一道用数据结构维护的模拟费用流贪心。首先当 \(k=1\) 时我们显然选择区间最大子段和。但 \(k>1\) 时首先选择区间最大子段和并不一定最优 ...
一、贪心算法 定义:一个算法是贪心算法,如果它是通过一些小的步骤来一个求解,并且在每一步根据局部情况选择一个决定,使得某些主要的指标得到优化。 二、区间调度问题 1. 问题:我们有一组需求{1,2,3,......,N},第i个需求与一个开始时间s(i),结束时间f(i)相对 ...