贪心
文章平均质量分 77
WA是一笔财富
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #388 (Div. 2)D. Leaving Auction
传送门:点击打开链接题意:有有许多人参加拍卖,问当假定某些人不参加的时候剩余的人当中谁是最终的赢家,输出他的编号和最终竞价,注:每个人都不能和自己竞价,即若某人连续竞价两次,以第一次价格为准。输入数据保证竞价递增。比赛的时候根本没来及看这题。。后来补题,看懂题意感觉很简单啊,用set模拟瞎搞一发估计会超时,交上去果真超时了。。我的思想是将被去掉的人标记出来,然后按竞价从大往小找就行了,T在原创 2016-12-20 13:41:32 · 403 阅读 · 0 评论 -
POJ - 3040 Allowance 贪心好题
传送门:POJ 3040题意:有n种硬币,每种硬币有不同的数量,且保证大面额一定是小面额的倍数,现在每次要用这些硬币支付c单位(一次至少支付c),问最多能支付多少次。思路:考虑一次支付的过程,面值大于c的我们只能一次支付一个用掉,关键是面额小于c的硬币如何分配,首先很显然我们要尽量用面额大的,因为这样可以保证我们在数额接近c的时候有更多的小面额硬币去组成更多的组合,从而使数额在满足条件(大原创 2017-07-19 20:26:03 · 459 阅读 · 0 评论 -
POJ - 3262 Protecting the Flowers 贪心
传送门:POJ3262题意:有n个牛在花园,每个牛在被赶走之前每秒吃Di个花朵。赶它回去要花的时间是Ti * 2。问最小损失花朵是多少。思路:这个样例真是骚,想了好几种贪心方法都能过样例。。然而都是结果都是一样的wa。。正解:考虑比率 Ti / Di,越小的越先赶走。证明:假设序列都由二元组组成,二元组是由D和T组成,那么对一个序列有相邻的两头牛是这样的....原创 2017-07-19 21:42:31 · 240 阅读 · 0 评论 -
51nod 1574 || Codeforces 584 E. Anton and Ira 思维+构造+贪心
传送门:E. Anton and Ira题意:给定两个1-n的全排列p和s,假设交换pi和pj的代价是abs(i-j),问怎样将p交换成s才能使代价最小。思路:先将s映射成1-n的顺序排列,再将p根据同一映射函数映射成新的序列,得到新问题与原问题等价(并不会证明,但是dalao们都这么说)现在我们要做的就是将pi移到i位置上,我们可以先从最小的pi开始移动,这样当我们移动任何一个pi时原创 2017-07-14 17:58:12 · 389 阅读 · 0 评论 -
Codeforces 839B Game of the Rows 贪心
传送门:Codeforces 839B题意:有k个小队坐飞机,每个小队有a[i]人,飞机上有n排座位,每排座位有8个,定义同一排中{1, 2}, {3, 4}, {4, 5}, {5, 6} or {7, 8}. 几个座位是相邻的,问能否保证相邻的座位中没有两个不同的队伍的人。思路:先贪心的使用3、4、5、6四个座位,然后再用两边的,我是用优先队列维护的这一过程,比赛的时候傻X的一原创 2017-08-14 17:54:12 · 292 阅读 · 0 评论 -
Codeforces 732d Exams
传送门:Exams题意:有n天和m门考试,每场考试都需要一定的准备时间,每天可能能考其中一门也可能不能考试,问最短多少天能考完所有科目。明显的贪心题目,当时想到了从后往前贪心,只是没想到用二分去做,还是太水啊。#include #include #include #define M 100005using namespace std;int test[M],time[M],boo原创 2016-10-21 16:31:57 · 286 阅读 · 0 评论 -
HDU - 5802 Windows 10 dfs + 贪心
传送门:HDU 5802题意:调节音量p到q,上升音量每秒只能上升1,下降音量每秒为2*x,x为上一秒下降的音量,如果下降时休息或者上升音量则下一次下降音量时只能下降1,音量最低为0,问最少需要多长时间。思路:搜索过程中记录操作次数,停顿次数,连续下降的过程不采用搜索而是直接求得,因为我们连续下降的话要么是降到第一次比q低,要么在第一次比q低的前一次停下,这个过程是完全可以直接求出来的,那原创 2017-09-15 14:35:41 · 247 阅读 · 0 评论 -
HDU 5821 Ball 贪心
传送门:HDU5821题意:有N个盒子,每个盒子最多装一个球. 球的颜色不一定相同.现在要进行m次区间操作:每次操作将[l, r]区间内的球拿出来后,再随意将区间内的球重新分配回去.问经过上述操作后是否有可能达到给定的状态.思路:先贪心的给每个球在b数组中找个位置,然后每次选一个区间就相当于对这个区间排序,使得每个球朝其位置方向去,最后判断一下是不是每个球都在目标位置上就行了。原创 2017-09-12 00:24:46 · 228 阅读 · 0 评论 -
HDU - 5037 Frog 贪心(思维好题)
传送门:HDU 5037题意:有一条小河长为M的小河,小河里存在N个石头,有一个每次能跳L米的小青蛙,随意添加石头保证青蛙能从头跳到尾的前提下,问青蛙使用最优策略跳到对岸最多需要多少次。思路:我们要使青蛙跳的次数最多,那么必然要每L + 1的距离尽量使得青蛙跳两次,因此若连续一个或多个L + 1的距离没有石头,那么我们就可以让青蛙每L + 1跳两次,若有原有的石头,我们加石头时就要保证每两原创 2017-09-20 14:11:55 · 421 阅读 · 0 评论 -
HDU - 4803 Poor Warehouse Keeper 贪心 + 思维
题意:给出两种操作:如果按下按钮1,会使数量+1,总价对应增长单价数目(因此按下按钮1不会改变单价)如果按下按钮2,会使总价加1,数量不变(按下按钮2会使单价增加)现在问至少多少步可以使得 按钮1数字为x, 按钮2数字为y;原创 2017-10-01 22:04:05 · 226 阅读 · 0 评论 -
Sunscreen POJ - 3614 最大流||贪心
传送门:POJ3614题意:有C个奶牛去晒太阳 (1 给出L种防晒霜以及每种的数量和固定的阳光强度。每个奶牛只能抹一瓶防晒霜,最后问能够晒太阳的奶牛有几个。思路:最近一直在刷网络流思维就被局限住了。。看完觉得是分配型问题,最大流模板题,就没多想写了一发,过后看题解发现贪心就可解。。最大流代码://ISAP int#include #include #include原创 2017-06-19 00:04:52 · 313 阅读 · 0 评论 -
POJ - 3190 Stall Reservations 贪心 + 优先队列
传送门:POJ - 3190 题意:给定n个区间,问至少把他们分成几个集合,才能使集合内的区间互不相交,并输出每个区间对应的集合编号。思路:开始写了一发暴力,用并查集维护了一下,然而还是无情的tle。正解:将区间按左端点排序,然后遍历,用优先队列维护已经遍历过的区间的右端点,当前区间的左端点比堆顶的右端点小的话就说明能加到同一个集合里,否则就要新开一个集合。代码:#incl原创 2017-07-19 14:15:05 · 237 阅读 · 0 评论 -
poj1328贪心
本题难点在于思维的转化,应该通过海岛确定雷达的范围,再去重,而不是确定雷达的坐标看能覆盖几个岛。先对岛按x坐标排序,第一个雷达放在第一个海岛对应的区间的右端点,对后面的雷达坐标进行贪心,如果当前区间的左端点在上一个雷达的右边,则应放置一个新雷达在当前区间的右端点,如果当前区间的右端点在上个雷达左边则应把上一个雷达移到当前区间的右端点(思维难点,画图易懂,这时雷达如果不动的话无法覆盖当前区间对应原创 2016-09-18 21:29:46 · 382 阅读 · 0 评论 -
CodeForces - 365D Free Market 背包求状态数+贪心
传送门:CodeForces - 365D题意:有n种物品,每种物品有它的价值,john要和别人做交易,每次交易双方物品集合的总价值之差不能超过d,每天john只能做一笔交易,一开始john什么都没有,另一个人有所有的n种物品,问john最多能获得多大价值的物品,最少用多少天能获得最大价值的物品。思路:我刚开始做这个题就是xjb模拟加贪心,最大价值还好说,天数一直搞不定,看了题解才发现要用原创 2017-03-03 11:23:02 · 402 阅读 · 1 评论 -
CodeForces - 363D Renting Bikes
传送门:CodeForces - 363D 题意:有n个人去买车,每个人都有自己的钱,还有一定量的钱a是公用的,每个人最多买一辆车,问最多能买几辆车?买最多的车的基础上最少花多少每人私有的钱?思路:一开始我是写的纯贪心,不用别人说连我自己都觉得不对。。果不其然wa了,后来某宇巨说要二分+贪心,仔细一想好像是的,因为贪心只能用来验证买k辆车钱够不够,而不能单纯贪心的去考虑最多买多少辆车,至于原创 2017-02-24 11:34:55 · 343 阅读 · 0 评论 -
Codeforce div2 #401 E. Hanoi Factory
传送门:E. Hanoi Factory题意:给定n个空心圆柱形砖块和他们的内径外径以及高度,要把他们摞到最高并且满足上面的外径一定要小于等于下面的外径,上面的外径要大于下面的内径。思路:赛后补的这个题,看完题后觉得是DP,看这个题的tag也有dp,但是想不出具体该怎么转移状态来,最终还是向题解妥协。很简单的一种思路是用栈去贪心的保存所用的砖块,先按外径排序,外径相等的话内径较大的在前面,原创 2017-02-26 20:12:26 · 320 阅读 · 0 评论 -
CodeForces - 622E dfs+贪心
传送门:CodeForces - 622E题意:给定一颗树,每个叶子节点上有一蚂蚁,除了根结点的之外的所有节点任意时刻至多只能有一个蚂蚁,每个蚂蚁每秒能移动到相邻的节点上,问所有蚂蚁移动到根结点的最短时间是多少。思路:一看到树形图在加上求最小值,还以为是树形DP,然而贪心就足够了。因为要求最短时间,所以我们要尽可能地让所有蚂蚁同时动,因此就要让离根节点最近的先到根结点,如果让离根节点远的蚂原创 2017-05-23 11:15:22 · 351 阅读 · 0 评论 -
CodeForces - 622D Optimal Number Permutation 贪心+找规律
传送门:CodeForces - 622D 题意:用1-n组长度为2n的序列,要求每个数出现2次,假设位置分别为xi、yi(xi 思路:由公式可以看出应该贪心的使di==n-i,因此1中间应该隔n-2个数,2中间隔n-3个数,3中间隔n-4个数。。。以此类推,不难发现3及其中间的数恰好可以放到1中间,5及其中间的数可以放到3中间。。2、4、6同理,便可构造出满足要求的序列。代码:#in原创 2017-05-23 18:28:38 · 232 阅读 · 0 评论 -
Codeforces D. Office Keys 贪心(待证)
传送门:D. Office Keys题意:有n个人和k个钥匙在同一个坐标轴上,所有人都要去同一个点,但在这之前他们必须到某个有钥匙的点去拿到钥匙,每个钥匙只能被一个人拿,问所有人都到达目的地的最短时间是多少。正解:将人和钥匙的位置分别排序,然后从第一个点开始让每个人分别拿对应的钥匙,再从第二个点开始。。。一直到第n-k个点结束。我是看了dalao的代码,但是并不明白为什么这么贪心的选择原创 2017-07-14 17:30:27 · 256 阅读 · 0 评论 -
POJ - 3045 Cow Acrobats 贪心
传送门:POJ 3045题意:有n头牛,每头牛有不同的重力w和力量s,现在要将它们叠罗汉一样的摞起来,定义risk(i)为第i头牛上面的所有牛的重量和减去第i头牛的力量,问最大的risk最小是多少。思路:个人思路:假设牛的总重量是W,若把第i头牛放到最下面,那么risk(i) = W - wi - si,把j号牛放在第二个上,那么risk(j) = W - wi - wj - sj,以此类原创 2017-07-30 13:04:39 · 295 阅读 · 1 评论 -
POJ - 1065 Wooden Sticks DP(LIS)|| 贪心
传送门:POJ 1065题意:要处理n个长为li,宽为wi的木棍,若处理完(li, wi)后接着处理(li', wi')且满足li' >= li, wi' >= wi 则不花费时间,否则花费1单位时间,问处理完n根木棍最少花费多长时间。思路:一开始想着贪心来着,谁让这是dp系列的题呢,就没敢写,没想到贪心还真能解。。解法一:利用Dilworth定理将本题转化为LIS问题,有关Dilwo原创 2017-07-22 14:53:55 · 308 阅读 · 0 评论 -
CodeVS 2075 yh女朋友的危机 贪心 + DP
传送门:CodeVS 2075题意:中文题。思路:先按总身高排个序(ai + bi),然后做dp。dp[i] := 救出i个人后剩余的(坑内的)最大∑a。至于为什么要贪心的先救总身高小的,我也证明不太了,但是我可以证明单纯先救身高矮的或者手长的都会wa。。代码:#include#define ll long long#define pb push_back#defin原创 2017-07-31 14:36:19 · 208 阅读 · 0 评论 -
CodeForces - 867E Buy Low Sell High 贪心 + 优先队列
传送门:CodeForces - 867E题意:有一个物品,在n天内有不同的价格,每天可以选择买入或者卖出该物品,而且只能操作一次,初始手上没有该物品,问能获得的最大利益是多少。思路:题目都告诉你了,我们肯定是要贪心的低买高卖,考虑用优先队列(小顶堆)维护这一过程,我们每次得到一个新的价格,将其和堆顶的价格比较,如果比堆顶的价格低,就直接放入堆中,如果比堆顶的价格高,就意味着我们可以提前以原创 2017-10-12 15:38:51 · 757 阅读 · 0 评论