随笔分类 -  ACM——贪心

摘要:自定义标签主要用于移除Jsp页面中的java代码。 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤:编写一个实现Tag接口的Java类(标签处理器类)。编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述。1:编写一个实现Tag接口的Java类(标签处理器类)package cn.gbx.web.tag;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.jsp.JspException;import javax.servl 阅读全文
posted @ 2014-01-15 21:49 E_star 阅读(854) 评论(0) 推荐(0) 编辑
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5018题意:有n个学生要选出班长编号从1到n,1号人比较虚荣,想自己当班长,每个人都可以投一票给自己心目中的人但不能投给自己,只要谁的票数最高谁就可以当班长。给出每个人心目中的投票人,以及贿赂每个人所需要的糖果,(只要你给了那个人一定数目的糖果他就会支持你) 。问1号如果当班长的话,最少需要的糖果数。思路:由于这里的n比较小,我们只要枚举1当班长时的得票数x,然后再将其他人的得票数大于x的变为x-1 (减少的给1并且减少的肯定是所需糖果树最少的),然后检查最后1的得票数,如果 阅读全文
posted @ 2013-05-17 21:32 E_star 阅读(673) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/246/problem/C题意:给定n个数,给出k值;n,k(1 ≤ n ≤ 50;1 ≤ k ≤ ) 求出k个不同的数,这些数是由n个不同的数里面选出来组合成的。这里保证有解,并且n个数不同。思路:做CF真心考思维啊,大牛们几分钟秒杀的题目,自己还是没有想出来。自己做的题目数量还是太少。想暴利搞搞来,一看2^50次方搞个毛啊。。一直没能想出什么好办法来。赛后一看别人的代码才恍然大悟,注意k的取值,我们是否想到了n + n -1 + n - 2 + ...... + 1是的,解决的关键就在这。我们把n个数从大到小排序,枚举一下组合中数 阅读全文
posted @ 2012-11-23 20:05 E_star 阅读(333) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4415题意:Ezio 作为一个刺客他想杀掉n个人,他仅有的武器就是一把剑这把剑有攻击值m,每个人对应了两个值ai,bi,即杀掉i这个人必须消耗剑的ai的攻击之,然后你可以获得bi超级攻击法术,可以杀死bi个人。问他要怎么杀法才能是它杀的人最多而且消耗的剑的攻击之最小。思路:由于bi的非零的特殊性,我们将n个人按bi==0分为一组1,bi!=0分为一组2,非零的这一组只要我们能够杀掉其中的一个那么我们就可以杀掉所有的这一组的人(bi的非零性)。对于第2组我们要么全部杀光,要么一个不杀,这样就给了我们两种情况的讨 阅读全文
posted @ 2012-09-25 17:12 E_star 阅读(312) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4296题意:给出n个石板的重量w和它的承受能力s,将这n个石板累在一起,这样每个石板都有一个PDV =(Σwj)-si ,(Σwj)表示在i石板上的石板的重量和,我们计算每块石板的PDV如果是负数说明石板不会被压坏,如果是正数则表示石板会被压坏,要求我们确定一个顺序是的所有正数的最大值最小。一次来表示石板的最大承压能力;思路:开始读题读了老长时间都没读懂,最后还是把题意理解错了,试了分别按s,w排序都不对,郁闷了。最后才看懂了题意,我们要求的是正数的最大值的最小,我们只要保证每次可能出现正数时他是可能的里面. 阅读全文
posted @ 2012-09-17 21:37 E_star 阅读(464) 评论(0) 推荐(0) 编辑
摘要:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2401话说GSB 出的这个题确实不大好想,给定题意不说了。才开始我们想的是从左到右,从上往下走一边,找相邻连点两重循环找最大面积,敲出来一交WA,郁闷,才开始我们都认为这个办法对,想了很长时间,到最后ZC出了各情况直接给否定了,主要是我们没有考虑上下界问题。同样只要考虑好上下界,还是按那个思路左右上下走一边,最后求出最大值即可。View Code #include <cstdio>#include <cstring>#i 阅读全文
posted @ 2012-04-23 20:28 E_star 阅读(424) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=2586刚开始看了很长时间都没看懂题意,最后还是看了discuss里面讲的才懂了。开始还把连续五个月都会抱亏的题意理解错了。我理解成1 - 5 6 - 10 11-12 了。。心想怎么会一年8次呢。最后才看到原来是1-5 2-6 3 -7 4 - 8 5 -9 6 -10 7 -11 8 -12这8次报表时都是亏空的。而每个月可能盈利,也可能亏空所以这样就会导致全年盈利的情况了。这题的贪心在于,这8次中,出了第一次每一次都会和上一次重复利用连续的四个月的盈亏情况,所以我们贪心的让他们共用亏空,这样就会使盈利的月份增多,所以能够获得最大利润。V 阅读全文
posted @ 2012-02-24 21:21 E_star 阅读(327) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=1328这个题目就是每个岛屿对应一个雷达区间,然后确定好雷达区间后,然后在将区间的s或者e从小到大排序,然后贪心。第一种按s从小到大排序:View Code #include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define maxn 1007using namespace std;struct node{ int x,y;}tagp[maxn];struc 阅读全文
posted @ 2012-02-23 22:12 E_star 阅读(5856) 评论(0) 推荐(0) 编辑
摘要:第一题:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=47#problem/B就是一个贪心,才开始我是买饭时间从小到大排序做,结果贡献了好几次wa无语啊。。最后自己yy了一会发现应该是按吃饭时间从大到小排序,因为吃饭时间最长的先买饭吃饭这样后面的人在他吃饭的时候就可以把买饭与吃饭的事情就做完了。贪心很弱啊。#include <cstdio>#include <iostream>#include <iostream>#include <algorithm>using na 阅读全文
posted @ 2011-11-27 00:31 E_star 阅读(328) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2570我真是二啊本来一道挺简单的贪心我愣是想用01背包做,做吧可是还没做出来,不知道哪位用01背包做的可以给我讲讲。从小到大排序知道出现大于w的跳出。。哎写的时候各种错误。。粗心啊。。#include <cstdio>#include <cstdlib>#include <cstring>int cmp(const void*a,const void *b){ return *(int*)a-*(int*)b;}int main(){ //freopen("d.t 阅读全文
posted @ 2011-11-23 09:29 E_star 阅读(262) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示