首页 > 编程语言 >1.2贪心算法

1.2贪心算法

时间:2024-09-04 11:47:32浏览次数:3  
标签:1.2 覆盖 选择 算法 畜栏 最优 贪心

算法理解

每次做决策时总是采取当前最优策略,从局部最优到整体最优

贪心的证明

呜呜呜,我不会

贪心的特征

1.贪心选择特征

每次选择可能依赖于以前的选择但不依赖于后面的选择,要证明它,就要证明它满足局部最优到整体最优,好像又证回去了

2.最优子结构性质

一个问题的最优解包含其子问题的最优解

贪心与dp的区别

...待填

T1:

因为最后答案让求的是时间最长的衣服时间最短(这类问题不都是二分),所以我们选择每一分钟只晒湿度最大的衣服(子问题最优解)

T2:

我们的目的是覆盖所有的点对,所以必然如果一个点对没有被覆盖就要新开一个雷达,所以最优策略就是要让一个雷达覆盖尽可能多的点对,但是在二维平面上做不到这一点,所以要将它投影到x轴上,也就是在只要雷达在这条线段上就可以覆盖到这个点

T3:

每次小根堆维护每个畜栏最先吃完的奶牛,然后判断这个奶牛是新开一个畜栏还是就用这个畜栏就行了

T4:

T5:

水题,注意类型转换

标签:1.2,覆盖,选择,算法,畜栏,最优,贪心
From: https://www.cnblogs.com/zcxnb/p/18396158

相关文章

  • 代码随想录算法day7 - 字符串1
    题目1344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=["h","e","l","l","o"]输出:["o","l","l","e",&qu......
  • Lcode算法26:队列实现栈
    请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:voidpush(intx) 将元素x压入栈顶。intpop() 移除并返回栈顶元素。inttop() 返回栈顶元素。booleanempty() 如果栈是空的,返回 true ;否则,返回......
  • SSA(麻雀优化算法)+CNN+LSTM时间序列预测算法(python代码)
    1.SSA(SparrowSearchAlgorithm)简介:SSA是一种新兴的群体智能优化算法,模拟麻雀觅食行为。麻雀群体中的“发现者”负责寻找食物,并将信息传递给“追随者”,后者根据这一信息进行觅食。SSA通过这种合作机制寻找最优解。SSA在优化问题中可以视为一种元启发式算法,擅长在复杂搜索......
  • 代码随想录算法训练营|Day06 LeetCode 242.有效的字母异位词,349.两个数组的交集,202.快
    理论知识哈希表是根据关键码的值而直接进行访问的数据结构,一般用来快速判断一个元素是否出现在集合里映射——哈希函数哈希碰撞线性探测法拉链法常用的哈希结构数组set(集合)map(映射)242.有效的字母异位词242.有效的字母异位词-力扣(LeetCode)classSolution{......
  • 算法练习题10:leetcode76最小覆盖子串-滑动窗口
    目录题目题目描述约束条件解决思路代码getOrDefault(c,0) 方法方法签名参数返回值示例getOrDefault 与 get 的主要区别Integer 题目题目描述给定两个字符串s和t,请你在字符串s中找到包含t中所有字符的最小子串。要求:        如果 s ......
  • YOLOv5 结合切片辅助超推理算法 | 这才叫让小目标无处遁形!
    引言YOLOv5作为一种高效的目标检测算法,在许多领域得到了广泛应用。然而,在处理小目标检测任务时,YOLOv5仍然面临一些挑战。切片辅助超推理算法则为解决这一问题提供了一种有效的思路。本文将深入探讨YOLOv5与切片辅助超推理算法结合的原理、实现细节、以及在小目标检测方面的优......
  • 力扣-968监控二叉树(Java贪心详细题解)
    题目链接:968.监控二叉树-力扣(LeetCode)前情提要:本题是一道名副其实的hard题目,他考察二叉树和贪心的综合运用能力。所以我们不仅要会贪心还要会二叉树的一些知识,如果没有写二叉树类型的题目,建议大家该题可以放放,去刷其他的题目。因为本人最近都来刷贪心类的题目所以该......
  • 代码随想录算法训练营,9月3日 | 454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和
    454.四数相加II题目链接:454.四数相加II文档讲解︰代码随想录(programmercarl.com)视频讲解︰四数相加II日期:2024-09-03想法:4个数组,两两分开遍历时间复杂度低点,用一个map,key是i+j的值,value是出现次数,对nums3、4只需要判断0-k-l在不在map里,最后依次加上出现次数就行了。Java代......
  • 决策树之——ID3算法及示例
    0前言本文主要介绍决策树ID3算法,并举出构建示例帮助理解。读者需要具备的知识:信息熵、条件熵、信息增益。本文使用数据集为:游玩数据集1.1节、西瓜数据集1.2节。1ID3算法简述ID3(IterativeDichotomiser3)算法是一种经典的决策树学习算法,由RossQuinlan于1986年提出。该......
  • 代码随想录算法训练营第32天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
    目录509.斐波那契数1、题目描述2、思路3、code4、复杂度分析70.爬楼梯1、题目描述2、思路3、code746.使用最小花费爬楼梯1、题目描述2、思路3、code4、复杂度分析509.斐波那契数题目链接:link1、题目描述斐波那契数(通常用F(n)表示)形成的序列称为斐波那......