随笔分类 -  ACM-贪心

摘要:题意:N位女士一起聚在一个舞厅。每位女士有三个特征值B,I,R。分别代表美貌,智慧,富有。对于一位女士而言,如果存在一个女士的B,I,R都分别大于她自己的B,I,R。则她自己会自杀。统计总共有多少个女士会自杀。1 ≤ N ≤ 5000000 ≤ Bi, Ii, Ri ≤ 109思路:这题想不出来。看... 阅读全文
posted @ 2015-03-03 21:25 fish7 阅读(333) 评论(0) 推荐(0)
摘要:题意:m个水果,n个价格。每种水果只有一个价格。问如果给每种水果分配价格,使得买的m个水果总价格最小、最大。输出最小值和最大值。思路:贪心。代码:bool cmp(int a,int b){ return a>b;}string name;map mp;int price[200],fruit... 阅读全文
posted @ 2015-03-03 21:13 fish7 阅读(387) 评论(0) 推荐(0)
摘要:题意:一个数a,一个数b。现在要将a的每一位上的数字重新整理,生成一个新的不含前导0的数a'。问a'是否等于b。思路:a上每一位的数字从小到大排序,找到最小的非零数和第一位交换。代码:char s1[15],s2[15];int main(){ scanf("%s%s",s1,s2); ... 阅读全文
posted @ 2015-03-03 21:10 fish7 阅读(199) 评论(0) 推荐(0)
摘要:题意:给一个数X。起始点为坐标0。第1步跳1格,第2步跳2格,第3步跳3格,.....以此类推。每次可以向左跳或向右跳。问最少跳几步可以到坐标X。思路:假设X是正数。最快逼近X的方法是不停向右走。如果越过了X,假设到了X1,则必有X1-X小于最后一步d。如果X1-X是偶数,将之前的某个x变为-x。则... 阅读全文
posted @ 2015-03-02 18:58 fish7 阅读(194) 评论(0) 推荐(0)
摘要:题意:N个作业,每个作业有个deadline。每个作业完成耗时一天。如果某个作业没在deadline前完成,则要扣去一定的分数。给出N个要扣除的分数score[1]....score[N]。如何安排使得扣分最少?求最少扣分。思路:按扣分多少从大到小排序,然后一个一个放到各自的deadline前的某个... 阅读全文
posted @ 2015-01-24 23:33 fish7 阅读(183) 评论(0) 推荐(0)
摘要:题意:最少需要多少个拦截系统才能将所有的导弹拦截下来。思路:第1枚导弹一定需要第一个拦截系统,第2枚导弹如果比第1个高度高,则需要第二个拦截系统。考虑第i枚导弹,如果前i-1枚导弹的高度都比它小,则需要新的一个拦截系统,否则一定只需要之前的某个拦截系统,不需要新开一个拦截系统。原因是:假设最优方案中... 阅读全文
posted @ 2015-01-23 23:14 fish7 阅读(116) 评论(0) 推荐(0)
摘要:有N个人。每个人都有两个名字。给出这N个人的一个排列。p[1]...p[N]。现在让每个人挑自己丙个名字中的一个名字。问是否存在一种方案,使得挑出来的N个名字按字典序排完以后正好是p[1]...p[N]。思路:按照p[1]..p[N]的顺序挑第p[i]个人名字中小的(要大于第p[i-1]个人挑出来的... 阅读全文
posted @ 2014-09-30 00:56 fish7 阅读(195) 评论(0) 推荐(0)
摘要:有N个人站在一楼。一个电梯最多承载K个人。每个人都有一个想去的楼层。f[1]....f[N]。 f[i]属于[2,2000]从a层到b层需花费abs(a-b)秒。问电梯送完所有人然后回到一楼至少需要多少秒。思路:把每个人想去的楼层从小到大排序。先把高层的人送完再送低层的人,每次送K个。(证明:送最高... 阅读全文
posted @ 2014-09-30 00:37 fish7 阅读(191) 评论(0) 推荐(0)
摘要:给N个数字(0-9),让你组成一个数。要求:1.这个数是奇数 2.这个数没有前导0问这个数最大是多少。思路&解法:N个数字从大到小排序,将最小的奇数与最后一位交换,把剩下前N-1位从大到小排序。输出。(判断第一位是否为0)代码:#include #include #include #inclu... 阅读全文
posted @ 2014-09-29 19:58 fish7 阅读(203) 评论(0) 推荐(0)