栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基础贪心问题总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基础贪心问题总结

贪心,就是取局部最优解,通常贪心问题能获得最优解的情况都是当前局部最优不会影响到全局最优,或者可以扩大到全局最优,如果从全局的角度来看,当前局部最优的选择策略是错误的,那么贪心算法就不适用了

贪心问题就是不考虑全局,尽可能的选择某种属性的物品,只有当局部最优可以扩展到全局最优的时候,贪心的策略才是正确的

主要有以下几种类型

1.贪心+...算法

贪心作为一个经典算法,经常和其他的算法一起考察,其中较为重要的是贪心+排序和贪心+模拟

贪心+排序

这里的排序,一般都是发现题目中所有元素的共同性,运用这个属性进行排序

普通排序        跳跳! - 洛谷

                      [NOIP2008 普及组] 排座椅 - 洛谷

需要推公式的排序  见下

有关区间问题的排序  见下

贪心+模拟

根据题目给的要求,模拟,并作出贪心的选择,一般比较复杂,需要考虑多种情况,最好分析结束再编程

P1016 [NOIP1999 提高组] 旅行家的预算(贪心+模拟)_qq12323qweeqwe的博客-CSDN博客

双指针+贪心

 双指针+贪心会应用到双指针各种性质,做出贪心的选择并不难,难的是运用双指针算法

455. 分发饼干_qq12323qweeqwe的博客-CSDN博客

最大子段和(贪心,一维,二维)_qq12323qweeqwe的博客-CSDN博客

763. 划分字母区间(滑动窗口,贪心)_qq12323qweeqwe的博客-CSDN博客

前缀和差分贪心

前缀和总结_qq12323qweeqwe的博客-CSDN博客

差分总结(一阶,二阶)_qq12323qweeqwe的博客-CSDN博客

2.区间问题

区间问题是贪心问题的经典题型 

区间问题,特别要在意的是排序的选择

左端点升序,左端点降序,右端点升序,右端点降序

尽管名字相似,但在排序后,他们可以达到的效果是截然不同的

1.左端点升序

 左端点升序,左端点越小的在数组前面

左端点升序的特点是,只按照左端点为第一关键字升序,那么他后面的数组元素有可能会比他完全小(如图被完全包含),而并不会比他完全大,这个性质与右端点升序是相反的

2.右端点升序 

右端点升序,右端点越小的在数组前面

 如图,和刚才的左端点升序完全相反,后面的元素有可能比他完全大,而不会完全小,这两种性质在贪心问题中经常遇到

同理,右端点降序是只有完全小,没有完全大

左端点降序是只有完全大,没有完全小

区间选点问题

模板题:905 区间选点_qq12323qweeqwe的博客-CSDN博客

应用题:

简单              452. 用最少数量的箭引爆气球

中等              110. 防晒(区间选点,贪心)_qq12323qweeqwe的博客-CSDN博客

                     112. 雷达设备_qq12323qweeqwe的博客-CSDN博客

进阶              127. 任务(贪心,二维区间选点问题)_qq12323qweeqwe的博客-CSDN博客

最大不相交区间

最大不相交区间类似于区间选点问题

模板题    908. 最大不相交区间数量_qq12323qweeqwe的博客-CSDN博客

简单        无重叠区间​​​​​​

leetcode 56. 合并区间(区间,贪心)_qq12323qweeqwe的博客-CSDN博客

               

区间分组

区间分组和区间选点问题是区间问题的常见题型,区间分组问题使用了最小堆来优化,可以达到O(nlogn)的时间复杂度

模板题        906. 区间分组_qq12323qweeqwe的博客-CSDN博客

中等:        111. 畜栏预定(贪心,区间分组)_qq12323qweeqwe的博客-CSDN博客

                   P4447 [AHOI2018初中组]分组_qq12323qweeqwe的博客-CSDN博客

区间覆盖

模板题:907. 区间覆盖_qq12323qweeqwe的博客-CSDN博客

不等式

在贪心题目中,常常需要找出某种性质进行排序,不等式就是其中的一种性质

 排序不等式

913. 排队打水(贪心,排列不等式)_qq12323qweeqwe的博客-CSDN博客

均值不等式

1235. 付账问题(贪心,均值不等式)_qq12323qweeqwe的博客-CSDN博客

绝对值不等式

模板题:104. 货仓选址_qq12323qweeqwe的博客-CSDN博客

进阶题:122. 糖果传递_qq12323qweeqwe的博客-CSDN博客

字符串贪心

字符串贪心就是对字符串进行的一系列贪心操作

模板题:best cow line(字符串贪心)_qq12323qweeqwe的博客-CSDN博客e

简单:179. 最大数_qq12323qweeqwe的博客-CSDN博客

中等:1239. 乘积最大(字符串贪心)_qq12323qweeqwe的博客-CSDN博客

推公式

推公式即递推不等式,通过递推发现邻项的性质,常用邻项交换

耍杂技的牛
P1080 国王游戏(c++)_qq12323qweeqwe的博客-CSDN博客_c++国王游戏

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号