关于贪心算法章节的【有两个维度问题】的自我总结

一、如果一道题目需要同时满足两个维度,那么在实际做题的时候不要两个维度一起考虑。

二、关键:先考虑一个维度,再根据另一个维度做调整。

(一眼看上去不知道先考虑哪个维度,就先抓其中的一个维度先考虑试一下,模拟一下过程)

三、两个例题

例题1:分发糖果。题目要求要同时满足比左边的多,又要比右边的多。

那么就先处理比左边多的情况,再处理比右边多的情况。代码如下图右侧所示。

例题2:根据身高重建队列。既要考虑满足身高顺序要求,又要满足另一个条件

但是一眼看上去不知道哪一个先考虑比较好,就先考虑其中一个条件试一下,模拟一下过程。

(比如:如果先考虑第二个参数,按第二个参数从小到大排序,排完以后再按身高排序。此时两个条件都会变来变去,并没有因为先考虑了第二个参数而定了其中一个顺序。说明不合适,所以优先按身高从大到小排序,再用第二个参数做调整。)

相关推荐
casual~8 分钟前
模逆元计算方法详解:扩展欧几里得算法与费马小定理
学习·算法·逆元
脚踏实地皮皮晨34 分钟前
002002002_DepandencyObject类2
开发语言·windows·算法·c#·visual studio
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-27 冒泡法排序(C语言实现)
c语言·开发语言·数据结构·算法
大鱼>3 小时前
因子挖掘+回测+RL交易:量化金融完整系统
人工智能·深度学习·算法·金融
c238565 小时前
《枚举算法 “翻译官”:用 enum class 给 “游游的礼盒” 算分》
c语言·c++·算法
吃好睡好便好5 小时前
MATLAB中图像的对数变换
图像处理·学习·算法·计算机视觉·matlab
noipp5 小时前
推荐题目:洛谷 P5843 [SCOI2012] Blinker 的噩梦
c语言·数据结构·c++·算法·游戏·洛谷·luogu
极客BIM工作室5 小时前
OpenCascade 倒角(Chamfer)算法完整逻辑解析
算法
冻柠檬飞冰走茶5 小时前
PTA基础编程题目集 7-20 打印九九口诀表(C语言实现)
c语言·开发语言·数据结构·算法
鱼子星_5 小时前
《算 · 法》题目解析篇(1):最近公共祖先问题,线段树,最长回文子序列
c++·算法·动态规划·递归