贪心算法本质:       从问题的初始解出发,一步一步的做出当前最好的选择,尽可能的得到最优解或近似最优解(只根据当前的信息判断,希望通过局部最优得到整体最优)可用贪心算法求解的重要性质:(1)贪心选择:原问题的整体最优解可以有一系列的局部最优解得到,将原问题变成一个相似的规模更小的问题,只依赖于已经做出的选择。(2)最优子结构:一个问题的最优解包含其子问题的最优解解决步骤:...
原创 2022-03-10 17:14:25
207阅读
贪心算法   当“贪心序列”中的每项互异且当问题没有重叠性时,看起来总能通过贪心算法取得(近似)最优解的。约束条件。这些可行解可能有多个。为了衡量可行解的优劣,事先给了一个关于可行解的函数,称为 b)动态规划(需要满足阶段无后效性原则)。   1、所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到
转载 精选 2013-02-28 09:21:54
1778阅读
贪心算法顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。问题一、活动安排问题问
原创 2013-09-26 10:13:17
436阅读
先记录一下今天做题的思考,今天主要是做的stl的题,大部分都用到了map,关于map我
定义: 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。 即不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。 贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性(即某个状态以后的过程不 ...
转载 2021-08-18 18:31:00
119阅读
2评论
package com.atguigu.greedy;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;/** * @创建人 wdl * @创建时间 2021/4/4 * @描述 */public class GreedyAlgorithm { public static void main(String[] args) { //创建广播电台,放入到Map
原创 2021-07-19 09:48:18
50阅读
package com.atguigu.greedy;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;/** * @创建人 wdl * @创建时间 2021/4/4 * @描述 */public class GreedyAlgorithm { public static void main(String[] args) { //创建广播电台,放入到Map
原创 2022-02-12 09:45:15
39阅读
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸sj。如果sj >= gi,我们可以将这个饼干 j 分配给孩子 i
转载 2021-06-29 15:17:02
109阅读
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸sj。如果sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。 一个小朋友最多只能拥有一块饼干。示例1:输入: [1,2,3], [1,1]输出: 1解释...
转载 2022-02-17 13:47:13
22阅读
P1223 排队接水要使得后面等待的时间少,那么就是要尽量让接水时间短的人排在前面。按照接水所需时间从小到大排序,即为接水的顺序。注意算平均值的时候不要把最后一个人的接水时间也加上。\(AC code\)#include<bits/stdc++.h> using namespace std; long long a,b[1005],c[1005]; double d; int main
转载 2021-04-04 22:48:47
148阅读
2评论
LeetCode455. 分发饼干-------------------------leetcode 45. 跳跃游戏 IIpublic int jump(int[] nums) { int cnt = 0; if (nums == null || nums.length == 0) { return cnt; ...
原创 2021-06-11 21:49:40
127阅读
贪心算法
原创 2021-08-02 16:00:42
124阅读
本文主要对贪心算法的经典案例、题型进行了算法复现与内容提炼,总结了贪心算法的特点与解题步骤,为后续贪心算法的巩固与强化作铺垫。 ...
转载 2021-01-25 21:22:00
106阅读
2评论
在动态规划算法中,每步所作的选择往往依赖于相关子问题的解。因而只有在解出相关子问题后,才能作出选择。而在贪心算法中,仅在当前状态下作出最好选择,即局部最优选择。然后再去解作出这个选择后产生的相应的子问题。贪心算法所作的贪心选择可以依赖于以往所作过的选择,但决不依赖于将来所作的选择,也不依赖于子问题的
转载 2021-05-27 23:20:00
68阅读
题目一: 一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为20的金条,无论切成长度多大的两半,都要花费20个铜板。 一群人想整分一整块金条,怎么分最省铜板? 例如,给定数组[10,20,30],代表一共三个人,整块金条长度为10+20+30=60。把金条分为10,20,30三个部分。如 ...
转载 2021-08-25 18:00:00
96阅读
2评论
顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情...
转载 2014-08-09 15:43:00
71阅读
2评论
贪心算法的设计思想          贪心算法在解决这个问题的策略上目光短浅,仅仅依据当前已有的信息就做出选择,并且一旦做出了选择,无论将来有什么结果,这个选择都不会改变。换言之,贪心法并非从总体最优考虑,它所做出的选择仅仅是在某种意义上的局部最优。贪心算法对于大部分的优化问题都能产生最优解,但不能总获得总体最优解,通常能够获得近似最优解。 引例 [找零钱] 一个小孩买了价值少于1美元的糖,
转载 2015-01-22 15:45:00
122阅读
2评论
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。
转载 2013-03-18 15:27:00
115阅读
2评论
n(n+1)/2 连续自然数 1,2,3.....,n 队列 从中任意取出1至n个相加,可以表示的连续自然数队列中最大的自然数是多少 受“高斯求和--蛇头蛇尾脑图--长方形对角线脑图--苯环发现之旅故事”和“当前最优--贪心算法--greedy algorithms”启发,可得“脑图……眼图”。 拓
转载 2016-11-06 00:00:00
94阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5