贪心
文章平均质量分 53
空灰冰魂
=NULL
展开
-
【POJ3272】Cow Traffic 拓扑DP
题意:给一个有向图,边严格由编号小的点到编号大的点,现在计数所有的极大路径,求每条边遍历次数的最大值。题解:正着扫一遍,倒着扫一遍,dp值相乘。#include #include #include #define N 5050#define M 50500using namespace std;struct KSD{ int v,next; long long cnt;原创 2014-11-07 16:42:20 · 1354 阅读 · 0 评论 -
【HDU4803】Poor Warehouse Keeper 数学+贪心
题意:初始状态为:1个物品,总价为1。目标状态为:x个物品,总价为y。操作A:变为x+1,y+y/x。(y不取整)操作B:变为x, y+1 问最少多少步可以达成条件?(最后操作结束后对y取整)如果不行输出-1。题解:先说"-1" 首先如果x,那么我们可以先一直做操作一,使得状态变为(x,x),然后暴力给y+1一定可以达成,原创 2015-02-03 15:45:42 · 1585 阅读 · 0 评论 -
【BZOJ3850】【HDU4882】ZCC Loves Codefires 数论,叉积,贪心 “再不刷它就土了”系列
毕竟是HDU收录的题,,我怀疑它要变土。。题意:有n个项目,然后第一行输入损失度,第二行输入耗时然后安排一下顺序,每一项的消耗为当前已经做了的(包括此项)总时间*损失度。求最小总消耗。首先这道题是贪心,我们可以贪心排序项目。策略: bool operator < (const YYC &a)const {return x*a.y证明:首先我们考原创 2015-01-18 23:45:09 · 1578 阅读 · 0 评论 -
【USACO 2008 Mar Gold】 3.Pearl Pairing 贪心 pq
题意:有若干个颜色,每个颜色有若干头牛。现在将牛进行配对,使得每对颜色都不一样,有SPJ。题解:一旦某种颜色的牛数量占当前未配对牛总数最多,那么就要群起而攻之!利用pq或者heap解决。代码:#include #include #include #include #include #define N 101000#define inf 0x3f3f3原创 2014-12-31 09:35:10 · 1610 阅读 · 0 评论 -
【BZOJ3174】【Tjoi2013】拯救小矮人 贪心+动规。
呃、就是先贪心排序一下,然后做动规。题解:首先我们考虑两个人之间的先后离开顺序:肯定我们希望逃生能力(权值a+权值b)强的人后跑,因为这样更可能多跑(这里不妨考虑:我们希望整个塔的逃生能力更强,而塔的逃生能力就是所有人的身高+max{手长})。然后这样我们可以按照逃跑顺序排个序,方便接下来的动规。(不要太较真~~我也不是特别“有理有据”,只是感性地YY了原创 2015-01-19 20:16:14 · 1905 阅读 · 0 评论 -
【POJ3659】【USACO 2008 Jan Gold】 3.Cell Phone Network 树上最小支配集/贪心 两种做法
两种做法都附AC代码。原创 2014-12-30 20:32:44 · 1435 阅读 · 0 评论 -
【BZOJ1229】【USACO 2008 Nov Gold】 4.Toys sadstory 三分+贪心
好题呀。原创 2015-01-02 22:05:44 · 3261 阅读 · 1 评论 -
【BZOJ1816】【Cqoi2010】扑克牌 二分答案+贪心+构造(证明)
题解:首先如果二分答案,它是满足单调性的。 但关键在于怎么check。我们可以贪心地给二分出的mid分配min()原创 2015-03-24 18:44:30 · 1824 阅读 · 1 评论 -
【BZOJ2563】阿狸和桃子的游戏 贪心
题解:PoPoQQQ大爷已经说得很详细了。 http://blog.csdn.net/PoPoQQQ/article/details/44495319代码:#include #include #include #include #define N 10100using namespace std;int n,m;long long ans,x[N];int main(原创 2015-03-20 22:57:23 · 1160 阅读 · 0 评论 -
【POJ3614】【USACO 2007 Nov Gold】 3.Sunscreen 贪心
题意:有若干个区间,若干种数,每个数告诉你有多少个。然后一个数可以被放到一个x∈该区间 的区间,问最多有多少个区间可以被放。题解:显然我们可以用二分图最大匹配做,水题。但是此题有别的技巧、就是我们可以贪心进行处理。首先我们考虑到需要将两种数都排个序。然后再进行贪心。一种错误的贪心法是单调队列式贪心,就是记录个top,然后单调往后推。这个不仔细原创 2014-12-22 14:26:11 · 2209 阅读 · 0 评论 -
【BZOJ1821】【JSOI2010】Group 部落划分 Group (两个group什么意思
绝对良心的一篇好题解。原创 2014-12-18 08:22:54 · 1558 阅读 · 0 评论 -
【POJ2325】Persistent Numbers 贪心+高精度/低精度
题意:我们可以把一个数A变成B=A的各位乘积,现在给出B,求是否可以有某个A通过计算得到B,有的话,是多少。题解:贪心。我们先分解B,若质因数有大于等于10的显然就不行了。否则则一定可以把他的各因数排在一起成为A,使A的各位乘积=B。贪心策略:把小数放前面。注意:一、不一定要质因数,10以内即可。二、需要高精度。三、A!=B代码:#include #inc原创 2014-11-06 16:21:48 · 1588 阅读 · 0 评论 -
【POJ1042】Gone Fishing 黑书上第一道贪心题。
题意:有n个鱼塘,t个小时,鱼塘都在一条线上,一行n数,鱼塘i初始时垂钓5分钟能得到fi条鱼;一行n数,鱼塘i每垂钓5分钟fi就减少di;一行n-1数,表示鱼塘i和上一个鱼塘的距离,第一个鱼塘没输入,距离原点0。题解:贪心,黑书里有题解 : P13。先枚举走到哪个鱼塘。然后把路上时间去掉,然后爆扫,每次取能钓到鱼数最大的池塘来钓5分钟。答案出来了,输出就行了。原创 2014-11-04 17:53:44 · 1300 阅读 · 0 评论 -
【POJ1548】Robots Dilworth定理(偏序集定理2)
题意: 有一些位置有垃圾,让机器人从左上角开始走,只能往右或者往下,问最少走多少次可以清理完所有垃圾、题解: 一看就是网络流经典题,或者说是二分图—最小路径覆盖;但是现在毕竟是在做一些贪心,这道题用的是一种贪心相关定理,Dilworth定理。 这道题可以理解为部分两点之间有偏序(可走的关系),呃,可以视为当xa 比如题中的数据1,我们经过处理得到2 4原创 2014-11-05 09:47:19 · 2027 阅读 · 0 评论 -
【POJ1700】Crossing River 贪心,附贪心问题的一系列详细解析
题意:一群人过河,船每次只能装两人,每次过河时间为两人权值较大的那个。题解: 这种题的贪心策略往往不是很好想,这个时候我们就需要依照尽量逼近正解的思路,进行多种贪心,在每种贪心都保证正确的前提下,取多个答案的最值,这样往往就是正解,而即便可以卡,数据也很难出,并不是写个rand+debug拍上两个小时就能拍出来的。 而这种 多线程贪心 可以有两种:一、单独做每种,然后取原创 2014-11-05 16:48:52 · 1798 阅读 · 0 评论 -
【POJ1065】Wooden Sticks Dilworth定理(偏序集定理2)
题意: 可以视为跟POJ1548相同,就是n个点(二维),要求分堆,每堆中点要求单调递增(A的x和y值都比B小则A题解:参见我的上一篇博客然后贴代码:#inclu原创 2014-11-05 10:21:31 · 1820 阅读 · 0 评论 -
【POJ3636】Nested Dolls Dilworth定理(偏序集定理二)
题意:别问我,直接扒1065或者1548代码,然后改一下cmp函数为y值递减,然后最长下降子序列改成最长不上升子序列,收工。贴代码:(当然你要看这个定理可以去我的前两篇博客看)啊,这个的求最长不上升子序列必须nlogn了,n^2会TLE了~~#include #include #include #define N 50000#define inf 0x3f3f3f3fusin原创 2014-11-05 11:18:32 · 1250 阅读 · 0 评论 -
【POJ1323】Game Prediction 博弈,或者说贪心(本博客用栈处理)
题意: 输入m,n,表示有若干张卡牌,权值两两不同,且最大为m*n,交给至多m个人。 每回合所有人各出一张牌,权值最大者胜! 现在主角手里有n张牌,问他至少能赢多少局。题解: 贪心。每次出最大牌看是否可以有人压制你。 或者换一种说法,就是所有人一起坑你,而且提前知道了你出什么牌,总之就是各种坑你!所以我们不考虑能赢多少把,我们考虑有多少原创 2014-11-05 15:20:45 · 1126 阅读 · 0 评论 -
【POJ1328】Radar Installation 贪心
题意: 有n个在x轴上方的小岛的坐标,还给出雷达的范围,现在要求在x轴上放尽量少的雷达使岛都被覆盖到,问最少数量。题解: 贪心。确定每个岛在x轴上的映射范围(此范围内有雷达则能扫到小岛),然后按右界排序,然后类似于单调队列(当然要水多了),把雷达尽量往右放。细节:注意一: 雷达不用非得在整点上,别被示意图骗了。注意二: 如果数据有误输出-1原创 2014-11-05 16:17:17 · 1093 阅读 · 0 评论 -
【POJ3258】River Hopscotch 二分答案,贪心check
题意:第一行knm,有n+2个石头在数轴上(k是第n+2个石头离第一个的距离),要删掉m个,使两两间距的最小值最大,并求这个值。题解:排序一下,然后扫一遍贪心决定删哪些。#include #include #include #define N 50500#define inf 0x3f3f3f3fusing namespace std;int dist[N],n,m;int原创 2014-11-06 20:54:28 · 1180 阅读 · 0 评论 -
【BZOJ4027】【HEOI2015】兔子与樱花 贪心
题解:贪心策略步骤一:如果有多个儿子,那么显然(这里是真的显然,真的不给证明了)我们肯定要先合并小儿子后合并大儿子。贪心策略步骤二:因为所有节点的载重是相同的,所以我们要先合并叶子节点,不能合并就把父亲的权值+1然后叶子就可以去掉啦~(若父亲要被合并上去,那么爷爷就会多出若干被计数为1的儿子)。 证明1: 为什么一定先合并叶子? 因为: 1.如果合并完父亲叶子还能合并,原创 2015-04-27 20:12:14 · 2060 阅读 · 0 评论