-----贪心-----
cyl纤云弄巧
To Be
展开
-
HDU 1009 (贪心)
DHU 1009题意:老鼠想吃猫看守N个房间里的食物javaBean,那么它必须用自己拥有M的猫粮引诱猫离开。N个房间每个有j 个javaBean需要f 猫粮才能得到,当然也可按比例引诱。问怎么做才能得到最大数量的食物。想得到最大的javaBean,那么肯定从最大比率的j/f开始,故用结构体对efficiency降序排序,然后依次引诱即可#include<cstdio>#include<io原创 2016-09-10 22:21:58 · 218 阅读 · 0 评论 -
ZOJ 3963 STL + 贪心
STL + 贪心题意: 有n个数字,它们可以再限制条件下可以建树:ai<aj,i<ja_i < a_j, i < j ,满足ai是aj 的父亲节点,一个父亲节点只能最多连两个儿子,现在要求满足条件下如何建树使得树的数量最少,输出每一个树 的大小和节点。思路: 这题考察STL和思维能力,若想使得树建的少,那么在插入的节点的时候要寻找比自己小的数字,按照贪心的思想一定要找第一个比自己小的数字原创 2017-08-30 21:59:58 · 345 阅读 · 0 评论 -
codeforces D. Dynamic Problem Scoring
题意: 给出n个人5道题的codeforces提交时间,现在第一个人想要自己的成绩总和大于第二 个人,怎么强行提高自己成绩呢?他会开小号去提交某一些题目,而一道题的 Accepted之后的成绩是根据比例计算的,Accepted / 总提交。比例越小成绩越高 如题中的表。他可以在自己能力范围内控制题目的比例。求出,他需要多少个小号 去达到目的。思路: 对于第一个人,如原创 2017-05-19 21:34:11 · 355 阅读 · 0 评论 -
POJ 3614(最小优先队列 + 贪心算法)
POJ 3614题意:有C头牛 L 种 防晒霜,C头牛有最大和最小的承受防晒范围,L种防晒是有自己的固定值和n瓶,求多少牛可以晒太阳。 说实话:此题优先队列是为贪心而准备的。 贪心?就是从最小的防晒霜开始找,找C头牛范围小的。 想要求出最多的牛晒太阳,当然是从最小的开始遍历。#include#include#include#inclu原创 2016-08-15 17:34:46 · 613 阅读 · 0 评论 -
POJ 1862 (贪心)
题意: 现在有很多粒子,两个碰撞之后形成一个粒子并且会减小质量,求最小值量。思路: 很简单,选出最大的两个碰撞质量减少最多。 不过也复习了一下优先队列与结构体的使用。#include<iostream>#include<algorithm>#include<queue>#include<cmath>#include<cstdio>using namespace std;cl原创 2016-12-07 20:31:59 · 289 阅读 · 0 评论 -
POJ 3617 (贪心)
题意 给出n个字符,现在要求组合成为一个新的字符串。有两个操可以任意选择 1. 从原来的字符串头中拿出一个字母 2. 从原来的字符串尾中拿出一个字母这道题我又重新做了一遍,我深深地知道自己基础知识掌握的太少、不牢固,现在认认真真的做,每次都要自己思考。方法: 每次选取字母的时候一定要选取小的,所以可以写一个函数来判断。 要注意的是输出格式要求。满80个字母才能输出换行符。原创 2017-03-05 16:02:05 · 203 阅读 · 0 评论 -
POJ 3262 (贪心)
题意: 有n头牛在花园里吃花朵,老头要一个一个赶走他们,赶走的时候别的牛仍然在吃. 现在问最小的损失是什么。重点内容 输入的第一行是牛的头数,然后n行每行两个数分别是赶走需要的时间 和每单位时间所吃的花。思路:有一个证明能很好的说明问题: 如: 两头牛分别是(a,b),(c,d)如果先赶走第一头,那么花费花朵为b*x + (x + a*2)*d,先赶走第二头,花费花原创 2016-12-09 14:22:57 · 860 阅读 · 0 评论 -
POJ 3040 (贪心)
题意: 要付给某人一周的工资c,现在给出一共有的钱,以及每种钱的数量。问能付多少周。思路: 至今不知道如何理解这种方法,暂时是这么理解的:给工资的时候可以多给点,但是不能少给,比c大的钱直接给(很有钱的样子)然后再从大到小给钱若找不开则从小到大找零钱给。不过还是有一个好的思路,就是可以用num记录每一种方案所花的钱数,然后以倍数的关系进行计算。#include<iostream>#i原创 2016-12-09 13:22:14 · 463 阅读 · 0 评论 -
POJ 2393 (贪心)
题意: 工厂要在n周生产y[i] unit的奶酪每一周生产的价格会波动,当然也可以趁着便宜的时 候多生产然后存储起来,储存需要费用,现在给出数据,问最便宜要多少钱生产这些 奶酪。思路: 储存起来最便宜的价格然后生产既可,简单贪心。#include<cstdio>int main(){ //freopen("in.txt","r",stdin); int原创 2016-12-07 18:29:17 · 312 阅读 · 0 评论 -
POJ 3190 (贪心)
题意: 有n头牛,每头牛挤奶的时间段是不同的,现在问在不同的时间段中最少用多少机器才能满足。思路: 首先这是贪心类型1的题:被称为 staying ahead,即保持领先,意义为如果我们运用某个策略,在算法的每一步中都使某个条件保持领先,那么最后可以利用这个领先条件来证明最优解。这里用两个策略:按照开始时间进行排序,这样可以遍历每一种情况按照每次结束的时间最早的寻找满足无交叉的时间段原创 2016-12-06 20:01:36 · 420 阅读 · 0 评论 -
POJ 1328 (贪心)
题意: x轴上方是海,其中有n个岛屿,需要在x轴上安装雷达,半径为d,问最少需要多少。思路: 可以先确定每一个岛屿能接受雷达的范围,也就是在半径d下边与x轴的交点,然后按 照交点大的依次遍历,哪些可以直接覆盖就直接标记。 不知道 为什么G++过不了,C++可以。#include<iostream>#include<algorithm>#include<cstdio>原创 2016-12-06 17:59:01 · 459 阅读 · 0 评论 -
POJ2376(贪心)
题意: 给定一个区间m,再给出很多小区间,问最少多少小区间才能组成大区间,如果 无法组成便输出-1.思路: 贪心算法,肯定需要一个标记t来确定选择最优解。 t表示组成的区间最右边。 这道题的处理方法是先排序,然后在能选择的范围中选择y的值最大的。#include<iostream>#include<cstdio>#include<algorithm>using na原创 2016-12-05 19:27:28 · 674 阅读 · 0 评论 -
HDU 6205 贪心
贪心题意: 题意:给你若干堆牌,所有牌默认向下,每次从第一堆开始,将固定个数的牌翻上,然后下一堆继续,直到没有足够的牌翻上,然后你可以获得当前操作过的堆的所有牌。一开始你可以调整堆的顺序,把第一堆放到最后一堆,你可以重复这个操作,问你要重复多少次这个操作,才能获得最多的牌。思路: 拿牌的开始一定是a[i]>b[i]a[i] > b[i] ,那么就从这里开始拿,每次拿都会计算出一个结果,那原创 2017-09-11 21:49:10 · 291 阅读 · 0 评论