最近开始学习动态规划,写个小题训练下: 假设有 1 元,3 元,5 元的硬币若干(无限),现在需要凑出 11 元,问如何组合才能使硬币的数量最少? 这个确实是最最基本的动态规划问题,注意这里我们不用贪心算法来解决,所以必须要引入状态和状态转移方程。 这个题的状态其实很简单,就是要凑出 i 元使用的最 ...
分类:
其他好文 时间:
2017-12-11 20:03:18
阅读次数:
184
1.分治法 http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html 2.动态规划 http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.html 3.贪心算 ...
分类:
编程语言 时间:
2017-12-11 14:23:57
阅读次数:
172
【问题描述】 给定n个活动,其中的每个活动ai包含一个起始时间si与结束时间fi。设计与实现算法从n个活动中找出一个最大的相互兼容的活动子集S。 要求:分别设计动态规划与贪心算法求解该问题。其中,对贪心算法分别给出递归与迭代两个版本的实现。 1 package org.xiu68.exp.exp7; ...
分类:
其他好文 时间:
2017-12-05 18:52:12
阅读次数:
243
贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只 ...
分类:
其他好文 时间:
2017-11-17 21:09:09
阅读次数:
193
1. 什么是贪心算法? 贪心算法,又称贪婪算法(Greedy Algorithm),是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优解出发来考虑,它所做出的仅是在某种意义上的局部最优解。 贪婪算法是一种分阶段的工作,在每一个阶段,可以认为所做决定是最好的,而不考虑将来的后果 ...
分类:
编程语言 时间:
2017-11-04 17:56:10
阅读次数:
213
这门课主要讲了贪心、递归、回溯、分支定界、动态规划等几种算法。 在进行学习之前有做过相关题目,所以在听课的时候感觉好理解了许多。没学这门课的时候总是想因为没学ACM课感到惋惜。 1.贪心算法 贪心算法算是DP问题的一个分支了。确定贪心思路,确定贪心标准是其核心。贪心算法的特点在于通过局部最优达到总体 ...
分类:
编程语言 时间:
2017-11-02 21:21:15
阅读次数:
139
122. Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to ...
分类:
编程语言 时间:
2017-10-29 20:18:35
阅读次数:
184
. :匹配任意字符,换行符 \n 除外 :匹配前一个字符0次或无限次 ? :匹配前一个字符0次或1次 .* :贪心算法,尽可能的匹配多的字符 .*? :非贪心算法 () :括号内的数据作为结果返回 2、常用方法 ...
分类:
其他好文 时间:
2017-10-28 18:46:49
阅读次数:
107
问题描述:一辆汽车加满油后可行驶nkm。旅途中有若干加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。 算法设计:对于给定的n和k个加油站位置,计算最少加油次数。 数据输入:n:表示汽车加满油后可行驶nkm k:旅途中有k个加油站 k+1个整数:表示第k个加油站与第k-1个加 ...
分类:
编程语言 时间:
2017-10-20 21:48:51
阅读次数:
294
(1)问题描述: 给定x 轴上n 个闭区间。去掉尽可能少的闭区间,使剩下的闭区间都不相交。 (2)编程任务: 给定n 个闭区间,编程计算去掉的最少闭区间数。 (3)数据输入: 第一行是正整数n,表示闭区间数。接下来的n行中,每行有2 个整数,分别表示闭区间的2个端点。 (4)结果输出: 计算出的去掉 ...
分类:
编程语言 时间:
2017-10-20 20:23:46
阅读次数:
296