
贪心
notmuch
这个作者很懒,什么都没留下…
展开
-
UVA - 10037
别人写的题解:https://blog.youkuaiyun.com/qq_42505741/article/details/84852078做这道题应该要有个感觉,是有个迭代或规律的。没思路时可以枚举一下,应该枚举到n=4就可以得出个思路了。#include<cstdio>#include<iostream>#include<algorithm>#include...原创 2020-05-07 18:39:26 · 210 阅读 · 0 评论 -
北大ACM——4014,Dice(贪心)
题意:有n个骰子,第i个有a[i]个面。对于骰子上的数字,应从1~m当中选择刻画到每个骰子的每一面,且每个数字只许用一次,其中m=Σa[i]。你的任务是求出一种数字安排,使得 每个骰子 所投出来的数字的数学期望 之和 E最大,要求输出E并输出第i个骰子的数字安排。分析:这道题最后一句,要求输出每个骰子的数字安排,意味着你不能打乱每个骰子的序号,面对这种情况,应采用结构体...原创 2019-03-07 13:04:52 · 274 阅读 · 0 评论 -
杭电ACM——4864,Task(贪心)
题意:有n个机器和m个任务,每个机器每天都有一个最大工作时长x1,以及最大工作难度y1,每个任务都有一个工作时间x2,工作难度y2。每完成一个任务多有一个收益500×x2+2×y2。假设每个机器一天只能完成一个任务,一个任务只能又一个机器完成,不可由多个一起完成。求一天当中能完成的最多任务,并输出收益。若有多种情况,输出最大的收益。限制条件:1&lt;=n,m&lt;=100000;1&lt;=...原创 2019-03-07 13:04:24 · 312 阅读 · 0 评论 -
杭电ACM——蝎子搬新家(贪心)
Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though he’s a guardian of Lich King now, he keeps the living habit of a scorpion like living underg...原创 2019-03-14 17:05:55 · 299 阅读 · 0 评论 -
杭电ACM——处理木棍(贪心)
Problem DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It need...原创 2019-03-15 15:26:21 · 603 阅读 · 0 评论 -
杭电ACM——broomstick训练营(贪心)
In the year 8888, the Earth is ruled by the PPF Empire . As the population growing , PPF needs to find more land for the newborns . Finally , PPF decides to attack Kscinow who ruling the Mars . Here t...原创 2019-03-15 18:15:22 · 251 阅读 · 0 评论 -
杭电ACM——建房子(贪心)
突破口:充分利用每一堵墙,有墙出现,其所在的行、列都加权1(除非遇到另一堵墙才停止),依次从权值由高到低开始建,每建一座,其所在的行、列都设置为N(no)(除非遇到墙才停止)。代码如下:#include<cstdio>#include<cstring>#include<cctype>using namespace std;char map[6][6]...原创 2019-03-17 19:21:10 · 226 阅读 · 0 评论 -
牛客第十七届上海大学程序设计春季联赛——E CSL 的魔法(贪心)
参考了牛客大佬的代码,真的过了。贪心策略:a[]数组第i小去匹配b[]数组第i大的数,这样就能使最终得到的sum最小。因此只要找到a[]数组中第i小和b[]数组中第i大的数一起匹配就好了。(一开始搞错了,去让a[]降序,b[]降序,其实不用这样的)设置a0[]数组,一开始与a[]数组相同,后将a0[]数组进行降序排序,借助a0[]数组给a[]数组每个元素进行编号,同理,b[]数组也按此方法进...原创 2019-04-12 17:34:03 · 260 阅读 · 0 评论 -
洛谷P1417 烹调方案(01背包+贪心)
题意:n个物品,T个时刻,每个物品只能制作一次,制作需要ci的时间,在t时刻完成第i样物品可以得到ai−t∗bi的价值,问在T的时间内最多能得到多少价值。详解见博客:https://www.cnblogs.com/BCOI/p/8999396.html这道题长得很像01背包,但是单纯按01背包去做肯定是错的,因为哪样物品先做,哪样物品后做是会影响最终价值的,也就是与做的顺序有关。这里很容易想到...原创 2019-08-22 22:17:05 · 172 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Xuzhou 2019,K(贪心)
这道题当时没做出来比较可惜,当时发现这道题的时候已经有点晚了,后来跟别人交流了一下,感觉也不算难,要是早点发现的话可能是可以做出来的。这道题看起来是有点难的样子,但其实是个纸老虎。我们直接贪心枚举就可以了:n个点,每个点都与其它所有的点(包括它自己)连线,连成的线段中都会生成一个中点,然后我们从这些中点当中找出出现次数最多的那个就行,设它的出现次数为num,则答案就为n-num。代码如下:...原创 2019-09-09 11:18:56 · 178 阅读 · 0 评论 -
洛谷P2672 推销员(线段树+贪心)
分析样例可以知道:当X=1时,我们要选择[1,N]内能够产生最大疲劳度的点;当X=2时,我们在X=1的方案的基础上,继续从[1,N]内选出产生疲劳度最大的点,注意这个时候整个区间都要进行更新,假设X=1时选中的点为x1,则x1不能再选,可以修改为0,对于[1,x1-1],距离因素不再考虑,对于[x1+1,N],距离因素产生的疲劳度都要减去2*d[x1](d[i]表示第i家住户到入口的距离);...原创 2019-09-20 16:13:21 · 145 阅读 · 0 评论 -
codeforces,1231C(贪心)
贪心方案:for(int i=n;i>=1;–i)for(int j=m;j>=1;–j)if(!map[i][j])map[i][j]=min(map[i+1][j],map[i][j+1])-1;注意循环的方向,是逆向进行的,更新完整个矩阵后,再判断一下是否满足递增条件,满足就输出总和,不满足输出-1即可。#include<cstdio>#include&...原创 2019-10-05 15:44:59 · 202 阅读 · 0 评论 -
北大ACM——2782,Bin Packing(贪心)
题意:有n个垃圾,每件垃圾都有一个大小 l[i],另有若干个垃圾桶,每个垃圾桶的大小均为 l,求最少需要多少个垃圾桶装满n个垃圾。要求:每个垃圾桶最多只能装2个垃圾,且垃圾大小之和不能超过l。输入时确保 l[i]&lt;=l 。分析:很明显这是一个乘船问题(终于遇见裸的题了诶),而且还更为简单一些,因为它确保了l[i]&lt;=l。伪代码如下:输入n,l输入a[n];a[n]从小到大排序...原创 2019-03-07 13:05:41 · 476 阅读 · 0 评论 -
杭电ACM——1789,Doing Homework Again(贪心)
题意:有N个作业,每个作业都有一个t[i],s[i]分别表示ddl和超过ddl会扣除的分数,每天固定完成一个作业,求最合理的安排,使得被扣除的分数最少。输入T,表T个样例,每个样例首行为N,第二行为t[N],第三行为s[N]。原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789分析:一开始直觉是按ddl从小到大排序,然后依次完成每个作业,但并...原创 2019-03-07 13:07:19 · 302 阅读 · 0 评论 -
杭电ACM——4310,Hero(贪心)
题意:有N个敌人,每个敌人都有血条HP和伤害DPS,你的HP无限,伤害固定为1,而且你在攻击敌人的同时,所有HP不为0的敌人都能攻击你。求出击杀所有敌人所需的最小HP损失。原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4310分析:此题跟Protecting The Flowers很相似,用类似的算法解决。伪代码如下:输入nsum=s=0;...原创 2019-03-07 13:07:39 · 230 阅读 · 0 评论 -
Codeforces--1062A_APrank(贪心)
根据题意,不难分析出,JATC必须在一段连续递增 1 的数列里面删除元素,否则删除后将不可能复原。于是,此题贪心的策略就为,选取一段最长的连续递增 1 的数列进行所要的操作。特别地,要注意满足要求的数列中是否有1,或者1000,可以进行分类讨论,但也可以采取一些方法来避免讨论,这将在代码中体现出。(1)讨论版#include#includeusing namespace std;in...原创 2019-03-07 13:11:40 · 299 阅读 · 0 评论 -
Codeforces——1101B_Accordion(贪心)
本题可谓是历经波折啊。这也是一道具有贪心思想的题,要尽可能多的裁剪选出最长的“Accordion”,仔细分析一下可知,由于一个“Accordion”是以“[:||||…|||:]”的形式出现的,左右必有一个反向括号,内部左右顶端必有一个冒号,冒号中间夹杂着若干 | (可以为0)。因此,我们可以从给出的字符串s中,找出第一次出现 [ 和最后出现 ] 的位置,接着在 [ ] 之间找出分别与 [ 和 ...原创 2019-03-07 13:11:31 · 323 阅读 · 0 评论 -
杭电ACM——1009,FatMousesTrade(贪心)
贪心算法。按每个屋子的性价比高低进行排序。即创建一个数组val[]=j[i]/f[i]特别注意:1.j[i]=0的情况;2.f[i]=0的情况;3.数据的类型。#include&amp;amp;lt;cstdio&amp;amp;gt;using namespace std;double j[1005],f[1005],val[1005]; //注意,都要定义为浮点型,因为val[]=j[i]/f[i],性价比不...原创 2019-03-07 13:09:42 · 247 阅读 · 0 评论 -
ACM--电池的寿命(贪心)
此题,可惜了~附上原题:小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时。显然如果他只有两个电池一个能用5小时一个能用3小时,那么他只能玩3个小时的游戏,有一个电池剩下的电量无法使用,但是如果他有更多的电池,就可以更加充分地利用它们,比...原创 2019-03-07 13:10:15 · 1290 阅读 · 0 评论 -
杭电1052--田忌赛马(贪心)
此题是一道贪心算法的题目,稍微复杂了一点,将田忌和齐王的马,按速度从大到小分别排序,接下来的贪心算法主要有两部分:1.如果田最快的马比齐王最快的马快,直接比试,+200;2.如果…比…慢,拿田最慢的马与齐最快的马比试,-200;(这两部分为贪心的第一部,我一开始就只想到了这一步而已,接下来会稍微复杂一些)3.如果…与…一样快,那么进行以下比较:A.如果田最慢的马比齐王最慢的马快,最慢VS最...原创 2019-03-07 13:10:05 · 312 阅读 · 0 评论 -
贪心之小结
贪心经典问题(模型)一、背包相关的题目:A. 最优装载问题:给出n个物体,第i个物体重量为wi。选择尽量多的物体,使得总重量不超过C。思路:按重量从小到大排序,在总重量不超过C的情况下,每次都取剩下的重量最小的物体。注:这类题就目前我遇到的题而言,是相对比较简单的,就不知会不会稍作变型,就变得复杂了。相关题目:Bookshelf:http://poj.org/problem?id=36...原创 2019-03-07 13:05:25 · 251 阅读 · 0 评论 -
ACM——Radar Installation(贪心)
这道题需要做一个**“等价变换”**:每个小岛在x轴上,对应有一个区间,在这个区间内安装雷达,就可以覆盖到小岛,区间的大小为[x-sqrt(dd-yy),x+sqrt(dd-yy)]。于是,原问题就转化为了区间选点问题——贪心的经典问题之一。(事实上也是二维问题转化为一维问题)伪代码如下:int n;double d;double x[1005],y[1005];double a[1005...原创 2019-03-07 13:09:54 · 368 阅读 · 0 评论 -
北大ACM——Packets(贪心)
题意:有一堆等高的包装好的产品,有1×1,2×2,3×3,4×4,5×5,6×6六种包装,且有6×6的包裹,用来装这些包装好的产品。分别给出每种包装的数量,求所需的最少的包裹。分析:一个包裹只能容下1个6×6余0空位,1个5×5余11,1个4×4余20,最多能容下4个3×3,9个2×2,36个1×1。贪心策略:尽可能地利用空间。先从大的装起,6×6的独用一个,其它的若有剩余,则用1×1或2×2...原创 2019-03-07 13:09:04 · 396 阅读 · 0 评论 -
北大ACM——Protecting the Flowers(贪心)
题意:N只牛,每只牛会吃掉d[i]朵花,将每只牛送回牛棚需要2*t[i]分钟。求最优方案,使得花儿被破坏得最少。分析:从提供样例入手,一开始想到两种方案:1.优先挑d[i]大的,符合样例,但是如果t[i]远大于d[i]就不合格了;2.优先挑t[i]大的,符合样例,但是同理,如果d[i]远大于t[i]就不合格了。后来想,应该是得挑选某一只牛,使得在搬走的过程中剩余的牛对花的破坏最小。然后受到...原创 2019-03-07 13:08:52 · 289 阅读 · 0 评论 -
北大ACM——Stripies(贪心)
题意:有一堆xxx,两个xxx的质量为m1,m2,合并后得到的新的xxx的质量为m=2*sqrt(m1×m2)。求n个xxx合并后的最小质量。贪心策略很明显:每一次合并都使新xxx质量最小。那么问题来了,先选大的合并还是小的合并呢?猜想应先选大的,因为这样大的被开方的次数增多,会使最终的值越小。证明一下:设a&amp;gt;b&amp;gt;c,2sqrt(c×2sqrt(a×b))–2sqrt(a×2sq...原创 2019-03-07 13:05:04 · 153 阅读 · 0 评论 -
北大ACM——Cleaning Shifts(贪心)
本题属于区间覆盖问题——贪心经典问题之一。原题可转化为有一个线段[s,t],选择最少的区间将这条线段完全覆盖。不过!!!本题有一个不太一样的就是,上一头牛从t时刻结束,下一头牛可以从t+1时刻开始工作。贪心策略:1.先将数据按开始时间a[i]从小到大排序。(a[i]相同可以按b[i]从大到小排序,也可以不用,反正不会影响最终结果)2.一开始,以s为有效起点,选取结束时间b[i]最长的区间,...原创 2019-03-07 13:09:25 · 245 阅读 · 0 评论 -
北大OJ——Yogurt factory(贪心)
原题连接:http://poj.org/problem?id=2393本题题意是:有n周,每周制作+运输酸奶的价格c,需求y都有变化,另有仓库,可储存任意多的酸奶,每周每单位储存价格恒定为s,求n周最少的总成本。本题的主要问题是:第i周的酸奶要不要之前就制作好存下来,还是直接做完卖了,就是存与不存的问题。下面我们来探寻一下存与不存的条件。n sc[i], y[i] c[k],y[...原创 2019-03-07 13:09:14 · 520 阅读 · 2 评论 -
最小新正数(贪心)
原题:给定一个十进制正整数n(0 &lt; n &lt; 1000000000),每个数位上数字均不为0。n的位数为m。 现在从m位中***删除k位***(0&lt;k &lt; m),求生成的新整数最小为多少? (注意这里是删除,不是重排)例如: n = 9128456, k = 2, 则生成的新整数最小为12456Input 第一行t, 表示有t组数据; 接下来t行,每一行表示一组测试数...原创 2019-03-07 13:14:45 · 683 阅读 · 0 评论