贪心算法概念 根据局部最优解得到问题的整体最优解或整体最优解的近似解:只根据当前已有信息做当前最优选择(且选择了就不能改变) 能利用贪心算法解决的问题有两个特性 1.贪心选择 原问题的整体最优解可以通过一系列局部最优选择得到 2.最优子结构 问题的最优解包含其子问题的最优解,比如:北京-广州的最短路 ...
分类:
编程语言 时间:
2018-09-03 12:05:20
阅读次数:
173
动态规划与贪心、分治的区别 贪心算法(Greed alalgorithm) 是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致全局结果是最好或最优的算法。 分治算法(Divide and conquer alalgorithm) 字面上的解释是“分而治之”,就是把一个复 ...
分类:
编程语言 时间:
2018-08-31 14:02:31
阅读次数:
195
[抄题]: Imagine you have a special keyboard with the following keys: Key 1: (A): Print one 'A' on screen. Key 2: (Ctrl-A): Select the whole screen. Key ...
分类:
其他好文 时间:
2018-08-24 10:47:39
阅读次数:
157
糖果传递,一开始就想到了n^2的模拟贪心算法,但是一看,数据范围太大,好像只有O(N)能过。。。没啥方法,只好看题解,之后发现,woc,还有这种操作? 这个题直接可以用数学证明。。。 证明如下: 偷来的证明。。。 题目: 代码: ...
分类:
其他好文 时间:
2018-08-17 21:33:25
阅读次数:
169
一:最小生成树 (一)定义 (二)什么是最小生成树? 1.是一棵树 2.是生成树 3.边的权重和最小 (三)案例说明 二:贪心算法 1.什么是贪? 2.什么是好? 3.需要约束 三:普里姆算法(稠密图) (一)定义 (二)算法思路 设图G=(V,E),U是顶点集V的一个非空子集。假设(u,v)是一条 ...
分类:
编程语言 时间:
2018-08-16 19:37:14
阅读次数:
177
1. 问题描述 小伟报名参加某电视台的智力大冲浪节目,本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 m 元。不要高兴太早,因为这些钱还不一定是你的!接下来主持人宣布了比赛规则: 首先,比赛时间分为 n 个时段(n <= 500),比赛又给出了很多小游戏,每个小游戏都必须在规 ...
分类:
编程语言 时间:
2018-08-12 14:00:47
阅读次数:
191
1. 问题描述 一条街道的一边有几座房子,因为环保原因居民想要在路边种些树,路边的地区被分割成 n 块,并被编号为 1…n,每块大小为一个单位尺寸并最多可以种一棵树,每个居民想在门前种些树并指定了三个数 b,e,t 这三个数分别表示该居民想在 b 和 e 之间最少种 t 棵树,当然,b<=e,t<= ...
分类:
编程语言 时间:
2018-08-11 10:53:36
阅读次数:
477
X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。 例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。 例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。 Inp ...
分类:
编程语言 时间:
2018-08-06 21:48:38
阅读次数:
660
一、什么是模拟退火算法 1、爬山算法 在了解模拟退火算法之前,先来看一下爬山算法:爬山算法是一种贪心算法,该算法每次从当前的解空间中选取一个解作为最优解,直到达到一个局部最优解。假设函数f(x)的图像如下图: 现在使用爬山算法来求f(x)的最大值,若C为当前最优解,则爬山算法搜索到A就会停止搜索,这 ...
分类:
编程语言 时间:
2018-08-05 23:28:48
阅读次数:
317