算法设计-贪心
miss_minor
坚持,请你坚持
展开
-
BNUOJ 34025 -Poor Warehouse Keeper(贪心)
题目:BNUOJ 34025 -Poor Warehouse Keeper(贪心)题目大意:有一个商品的信息表,上面是数量,下面是总价,然后旁边各有一个按钮。上面的数量按钮按一下数量就加1,然后价格对应的也要在加上一个当前的单价。下面的按钮按一下的话,就对应的总价加1.初始状态是 1 1,然后给出终点状态,问能否得到。可以的话输出最少要按几次按钮,否则输出-1;总价每次输出都是下取整。原创 2014-05-15 22:50:51 · 852 阅读 · 0 评论 -
CodeForces 461A Appleman and Toastman(贪心)
CodeForces 461A Appleman and Toastman(贪心)CodeForces 461A题目大意: 有两个朋友在玩游戏,游戏规则如下:每次朋友A收到一个集合的数字,那么总分便加上这个集合的数字之和。之后朋友A把这个集合的数字给朋友B,朋友B会将这个集合拆分成两个非空的集合,然后再将这两个集合一个一个的返回给A。朋友B如果收到了一个只有一个数的集合,那么便原创 2015-06-05 11:02:53 · 589 阅读 · 0 评论 -
CodeForces 449AJzzhu and Chocolate(贪心)
CodeForces 449AJzzhu and Chocolate(贪心)CodeForces 449A题目大意: 一块N*M的巧克力,指定K次切割,切割的要求看题目。问能否使得最小的那块巧克力的面积最大。如果不能进行K次切割输出-1.解题思路: 要使得切割后最小的巧克力的面积最大,那么尽量是朝一个方向切割是最优的。代码:#include原创 2015-06-05 10:56:40 · 650 阅读 · 0 评论 -
ZOJ3820 Building Fire Stations(贪心)
ZOJ3820 Building Fire Stations(贪心)ZOJ3820题目大意: 给定一棵树,希望选取两个结点做消防站,使得其余的节点到达消防站的距离最大值最小。解题思路: 二分长度,判断是否可行。 判断长度L过程中,任选一个点作为根节点,利用bfs找出最远的点,然后选择相隔L的节点作为第一个消防站,然后再以这个节点为根结点进行遍历,同样也是找出最远原创 2015-06-05 10:49:30 · 1190 阅读 · 0 评论 -
ZOJ3829Known Notation(贪心)
ZOJ3829Known Notation(贪心)ZOJ3829题目大意:给出一个表达式,希望将这个表达式转成合法的后缀表达式。这个表达式的空格全部丢失,因此相邻的多个字母,可以看成1个,也可以看成多个。解题思路:我们先需要判断一下数字和乘号的个数关系,如果数字不足,那么后面进行的操作自然是插入数字更好点,如果数字足够了或者是太多,那么碰到*号时如果数字不足,那么自然是将当原创 2015-06-05 10:39:15 · 552 阅读 · 0 评论 -
CodeForces479C Exams(贪心)
CodeForces479C Exams(贪心)CodeForces479C题目大意: 有位同学参加N门考试,他希望能够提前的结束这N门考试,所以和各门科目的老师协商了一下,换一天考试Ai,然后他又希望成绩的录入时间是非递减的,成绩的录入时间是按照科目原本的考试时间。求最后一门科目的结束时间,越早越好。解题思路: 将原本的考试时间按照时间先后排序,如果两门课在同一天原创 2015-06-05 10:26:41 · 1089 阅读 · 0 评论 -
CodeForces484A Bits(贪心)
CodeForces484A Bits(贪心)CodeForces484A题目大意:给出范围【A,B】,期望你给出某个数X满足X属于【A,B】,并且X转成二进制的1的个数最多。如果有多个给出最小的数。解题思路:因为需要1最多,那么我们先将每个位都放上1,如果这个数减掉了某一位的1还是超出了范围,那么就可以去掉这个1;如果去掉后发现比A小了,那么这个位置上的1是不能去掉的。直原创 2015-06-05 10:16:52 · 753 阅读 · 1 评论 -
CodeForces 486C Palindrome Transformation(贪心)
CodeForces 486C Palindrome Transformation(贪心)CodeForces 486C题目大意: 将一个不是回文的字符串通过最少的操作使之成为回文串。 操作,左移1位,右移1位,字母+1,字母-1,这些操作到达边界时是有循环的效果的,例如位置到达最后一位往右移动,那么就到达了第一位。解题思路: 首先需要统计一下有多少个位置是不匹原创 2015-06-05 10:06:58 · 829 阅读 · 0 评论 -
CodeForces 490E Restoring Increasing Sequence(贪心)
CodeForces 490E Restoring Increasing Sequence(贪心)CodeForces 490E题目大意:给N个正整数,然而这些正整数中间有些数字是被‘?’遮挡住了,每个‘?’可以还原回一个数字,希望给定的这N个整数形成一个递增的序列。可以的话,给出这N个整数的序列,不行返回N0.解题思路:每个整数都在满足条件的情况下尽量的小,写了一个非递归原创 2015-06-05 09:50:07 · 849 阅读 · 0 评论 -
CodeForces 492C Vanya and Exams
CodeForces 492C Vanya and Exams CodeForces 492C题目大意: 有一位同学要参加N门科目的考试,每门科目的满分固定,现在这位同学为了拿到奖学金需要达到平均分S,这就需要它在原来的基础上对某些科目的分数进行提升,然后提升每门科目需要做Ai个测试,于是希望能够做尽量少的测试能够使得分数达到平均分。解题思路: 将所有的科目按照对应的测原创 2015-06-05 09:56:02 · 618 阅读 · 0 评论 -
HDUPhysical Examination(贪心)
HDUPhysical Examination(贪心)题目链接题目大意:给N个队列,每个队列在0时刻体检的时候完成时间是ai,如果超过t(s),那么就是ai + t∗bi.问怎样组合才能用最短的时间完成体检(每个队列都要去一趟)。结果要取模一个给定的数。解题思路:相邻交换法,将这N个队列排下先后体检的顺序,然后在计算要花费的时间就可以了,要用long Long,ai ∗原创 2014-11-19 21:40:27 · 872 阅读 · 0 评论 -
HDU1789Doing Homework again(贪心)
HDU1789Doing Homework again(贪心)题目链接题目大意:给你n们作业的最后期限和过了这个期限没做需要扣的分数,问怎样安排可以使得扣分最少。解题思路:贪心,将扣分多的作业排在前面,扣分相同的按照最后期限前的排前面,然后用一个数组来表示第i天是否有安排。每次都将第i个作业放到它的最后期限的那天完成,但如果这一天被占了,那么就只能往前移动,找空闲的天。如果原创 2014-11-02 22:20:33 · 653 阅读 · 0 评论 -
ZOJ Problem Set - 3829Known Notation(贪心)
ZOJ Problem Set - 3829Known Notation(贪心)题目链接题目大意:给你一个后缀表达式(只有数字和符号),但是这个后缀表达式的空格不幸丢失,现在给你一个这样的后缀表达式,问最少需要多少操作可以把这个表达式变成合法的。操作:1、在这个表达式的任何位置插入‘’或者数字(一位数)。2、把这个表达式的任何两个位置的字符对换。解题思路:一原创 2014-10-14 11:53:25 · 738 阅读 · 0 评论 -
HDU4737A Bit Fun
题目:HDU4737A Bit Fun题目大意:给出N个数,然后问里面有多少个子串,对于每个子串做或运算的结果小于m。解题思路:这题测试数据比较水,暴力就可以过。正解:把每个数都用二进制存起来,然后一开始head和tail都指向1.每次tail都++,对于每个tail求出离他最远的head。然后求和一下每个tail满足条件的子串。注意当head到tail的和超过m的时候,就原创 2014-09-09 10:50:42 · 652 阅读 · 0 评论 -
uva 1316 - Supermarket(贪心)
题目:uva 1316 - Supermarket(贪心)题目大意:给出n间商品,分别有商品的利润和股原创 2014-04-23 09:15:44 · 996 阅读 · 0 评论 -
hdu4882-ZCC Loves Codefires(贪心)
题目:hdu4882-ZCC Loves Codefires题目大意:给出n个问题,每个问题有两个参数,一个ei(所要耗费的时间),一个ki(能得到的score)。每道problem需要耗费:(当前耗费的时间)*ki,问怎样组合问题的处理顺序可以使得耗费达到最少。解题思路: e1 e2 k1 1 2 k2 3原创 2014-07-24 21:51:00 · 961 阅读 · 0 评论 -
uva:10700 - Camel trading(贪心)
题目:10700 - Camel trading题目大意:给出一些表达式,表达式由数字和加号乘号组成,数字范围【1,20】。这些表达式可能缺少了括号,问这样的表达式加上括号后能得到的最大值和最小值。解题思路:因为这些数的都是正整数,所以可以用贪心。不然看出最大值就是先做完加法在做乘法,最小值就是先做乘法在做加法。注意这里的数值要用long long 因为比表达式的值可能会超过int原创 2014-07-04 01:54:50 · 1433 阅读 · 1 评论 -
10714 - Ants(贪心)
题目:10714 - Ants题目大意:一个长度为l的板上,分布着许多的蚂蚁,每只蚂蚁的位置都会给出但是方向不缺定,如果两只蚂蚁碰上了,就会朝各自相反的方向前进。问这样所有的蚂蚁都跌落木板的最短时间和最长时间。解题思路:最短时间的话就是每只蚂蚁都朝着各自离两端最近的方向前进,最后取这些最近的位置的最大值,就是最短时间。这样的话两只蚂蚁是不会碰到的,因为某只蚂蚁的前方那只蚂蚁原创 2014-07-03 11:12:36 · 761 阅读 · 0 评论 -
CodeForces463C Gargari and Bishops(贪心)
CodeForces463C Gargari and Bishops(贪心)CodeForces463C题目大意:在国际象棋的棋盘上放两个主教,这个两个主教不能攻击到同一个格子,最后的得分是这两个主教的攻击的格子上的分数之和。求最大的分数。解题思路:因为攻击的范围是对角线,所以两个主教一个在黑格,一个在白格。画个图就可以发现一旦一个主教放在了黑格,那么剩下的黑格是都不能在放主...原创 2015-06-05 11:10:39 · 777 阅读 · 0 评论