贪心
贪心算法
剑决浮云气
事了拂衣去,深藏功与名
展开
-
耍杂技的牛
题目描述 n头牛,每头牛有重量wi和强壮程度si,牛与牛之间垂直堆叠,每头牛的风险值是他上面不包括他自己所有牛的重量之和减他的强壮程度,求所有奶牛风险值中的最大值尽可能的小 数据范围 1≤N≤50000 1≤wi≤10,000 1≤si≤1,000,000,000 思路 #include<limits.h> #include<iostream> #include<algorithm> using namespace std; typedef pair<int,i原创 2021-01-23 11:09:49 · 74 阅读 · 0 评论 -
排队打水
问题描述 有n个同学在r个水龙头打水,每个人的接水时间是ti,请你思考,能不能找出一种排队次序,使得所有人打水总时间最少 输入 共两行 第1行两个数,人数n,窗口数r,用空格隔开 第2行n个数,每个人看病需要的时间ti,用空格隔开 输出 所有人打完水所用的时间总和 分析 现在水龙人r个,那么为了使得总的打水时间最少,可以肯定的是,必须要让每一个水龙头都有同学打水才行,那么同样的道理,我们还是应该按照从小到大的顺序排序,然后每一个水龙头下面按照顺序安排一个同学,不能在第一轮打水的同学,按顺序排在每一个水龙头后原创 2021-01-23 11:03:56 · 162 阅读 · 0 评论 -
仓库选址(排序不等式)
问题描述 在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数N。 第二行N个整数A1~AN。 输出格式 输出一个整数,表示距离之和的最小值。 分析 设仓库应该放在x位置,商家在x1,x2,x3…xn 则距离之和f(x) = |x1-x|+|x2-x|+|x3-x|+…+|xn-x| 求f(x)的最值 f(x) = (|x1-x|原创 2021-01-23 11:00:47 · 142 阅读 · 0 评论 -
区间分组
问题描述原创 2021-01-22 16:21:15 · 398 阅读 · 0 评论 -
区间覆盖
要覆盖[start , end]这个区间 问题描述 做法 ①将所有区间 按左端点 从小到大排序 ②从前往后一次枚举每个区间,在所有能覆盖shart的区间中,选择右端点最大的区间,然后将start更新成右端点的最大值。 ...原创 2021-01-22 16:17:33 · 179 阅读 · 1 评论 -
合并果子
问题描述 代码原创 2021-01-22 16:15:51 · 132 阅读 · 0 评论 -
区间选点问题
题目描述 做法 ①将每个区间按右端点从小到大排序 ②从前往后依次枚举每个区间 如果当前区间包含该点,则直接pass 否则,选择当前区间的右端点 证明 按照这个做法的结果是Ans,Cnt是某种可行的方案 那么可以得出Ans<=Cnt 那么在任意两个区间都没有交集的时候,按照上述贪心做法得出Ans>=Cnt Ans = Cnt 得到了最优解 ...原创 2021-01-22 16:14:17 · 203 阅读 · 0 评论