![](https://img-blog.csdnimg.cn/20210812110825266.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
第六讲 贪心
包括区间问题,Huffman树,排序不等式,绝对值不等式,推公式等内容。
falldeep
远和近
展开
-
股票利润最大值(贪心)
题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖 一次 该股票可能获得的利润是多少?例如一只股票在某些时间节点的价格为 [9,11,8,5,7,12,16,14]。如果我们能在价格为 5 的时候买入并在价格为 16 时卖出,则能收获最大的利润 11。数据范围输入数组长度 [0,500]。样例输入:[9, 11, 8, 5, 7, 12, 16, 14]输出:11代码class Solution {public: int maxDiff(ve.原创 2022-03-21 17:57:57 · 405 阅读 · 0 评论 -
货仓选址(绝对值不等式)
题目在一条数轴上有N家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数N。第二行N个整数 A1∼AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12代码#include<iost...原创 2021-08-09 15:17:51 · 24580 阅读 · 0 评论 -
区间分组(贪心,区间问题)
题目给定N个闭区间[ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。输出最小组数。输入格式第一行包含整数N,表示区间数。接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示最小组数。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:2思路代码#include<...原创 2021-08-08 15:07:48 · 25123 阅读 · 2 评论 -
最大不相交区间数量(贪心,区间问题)
题目给定N个闭区间[ai,bi],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。输出可选取区间的最大数量。输入格式第一行包含整数N,表示区间数。接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示可选取区间的最大数量。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:2思路代码#include<io...原创 2021-08-08 14:33:43 · 24852 阅读 · 0 评论 -
区间覆盖(贪心,区间问题)
题目给定N个闭区间[ai,bi]以及一个线段区间[s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。输出最少区间数,如果无法完全覆盖则输出−1。输入格式第一行包含两个整数s和t,表示给定线段区间的两个端点。第二行包含整数N,表示给定区间数。接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需最少区间数。如果无解,则输出−1。数据范围1≤N≤105,−109≤ai≤bi≤109,−109...转载 2021-08-08 18:27:50 · 24780 阅读 · 0 评论 -
排队打水(排序不等式)
题目有n个人排队到1个水龙头处打水,第i个人装满水桶所需的时间是ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含整数n。第二行包含n个整数,其中第i个整数表示第i个人装满水桶所花费的时间ti。输出格式输出一个整数,表示最小的等待时间之和。数据范围1≤n≤105,1≤ti≤104输入样例:73 6 1 4 2 5 7输出样例:56代码#include<iostream>...原创 2021-08-09 13:56:01 · 24724 阅读 · 0 评论 -
合并果子(Huffman树)
题目在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使达达...转载 2021-08-09 13:34:48 · 24568 阅读 · 0 评论 -
耍杂技的牛(贪心)
题目农民约翰的N头奶牛(编号为 1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这N头奶牛中的每一头都有着自己的重量Wi以及自己的强壮程度Si。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,风险值越大,这只牛撑不住的可能性越高。您的任...原创 2021-08-09 21:32:20 · 24810 阅读 · 0 评论 -
区间选点(贪心,区间问题)
题目给定N个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数N,表示区间数。接下来N行,每行包含两个整数 ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:2思路代码...原创 2021-08-08 14:21:08 · 24832 阅读 · 0 评论