码迷,mamicode.com
首页 >  
搜索关键字:贪心算法    ( 835个结果
POJ-3069 Saruman's Army
题意如下: 直线上有N个点,第i点的位置为Xi。从这N个点中选择若干个,给他们加行标记。对每一个点,其距离为R以内的区域里必须带有标记的点(自己本身带有标记的点,可以认为与其距离为0的地方有一个带有标记的点)。在满足这个条件的情况下,希望能为尽可能少的点添加标记。请问至少需要为多少个点添加上标记?...
分类:其他好文   时间:2015-02-09 14:13:43    阅读次数:224
poj1328Radar Installation
背景:因为一个小错误找了一个多小时,就是在输入数据的时候,雷达Q的作用范围可以为0.while(scanf("%d %d",&N,&Q)==2&&N)这句话千万不要写成while(scanf("%d %d",&N,&Q)==2&&N&&Q) 否则就会错。 思路:简单贪心,先要找出每个小岛可以被雷达发现的区间,然后就可以运用贪心算法了,先用sort按照区间左端点升序排列。然后如下运用贪心就可以了...
分类:其他好文   时间:2015-02-07 17:34:41    阅读次数:133
字典序最小问题
题意:给定长度为N的字符串S,(字符串S全为大写字母组成)要构造一个长度也为N的字符串T。 起初,T是一个空串。随后反复进行下面任意操作: 1.从S的头部删除一个字符,然后加到T的尾部。 2.从S的尾部删除一个字符,然后加到T的尾部。 目的是要构成字典序尽可能小的字符串T。 思路: 从字典序的性质上看,无论T的末尾有多大,只要前面部分的较小就可以了! 所以我们可以初步得到下面的这种贪...
分类:其他好文   时间:2015-02-07 17:34:06    阅读次数:244
区间段问题
有n项工作,每项工作分别在Si时间开始,然后在Ti时间结束。对于每项工作,你都可以选择参与或者不参与。如果你选择了参与,那么你必须自始至终都全程参与。此外,参与的时间段不能重叠。(即使是开始的瞬间和结束的瞬间的重叠也是不允许的) 时间不限,你的目的是参与尽可能多的工作,那么最多能参与多少项工作呢? 思路:贪心算法。->在可选的工作中,每次都选取工作结束时间最早的工作。结束时间越早之后可选的工作...
分类:其他好文   时间:2015-02-07 13:14:12    阅读次数:168
五大常用算法之三:贪心算法
一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性...
分类:编程语言   时间:2015-02-05 12:49:21    阅读次数:255
贪心法基础题目 HDU
HDU2037:链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037题解: 贪心算法:在对问题求解时,总是作出在当前看来是最好的选择。也就是说,不从整体上加以考虑,它所作出的仅仅是在某种意义上的局部最优解(是否是全局最优,需要证明)。若要用贪心算法求解某...
分类:其他好文   时间:2015-02-05 00:41:55    阅读次数:241
ZOJ 1409 Communication System
这题用的是贪心算法,不过在贪心之前还是要进行部分处理的。 首先就是题目要求B/P尽可能的大,所以P应该尽可能的小,B应该尽可能的大。但是B和P的处理方式是不一样的,B是所有带宽中最小的那一个,P是所有设备的总价钱,所以我能想到一个方法就是一个一个的枚举B,本来我是不敢这样想的,可是题目给的时间比较长,我觉得应该问题不大,当我运行之后,竟然只是0ms,让我吃了一惊。然后再选择设备,这时候就要用到贪...
分类:其他好文   时间:2015-02-04 09:31:34    阅读次数:160
HDU 1338 Game Prediction
这题我用的是贪心算法,我的理解是这样的: 要求我最少能赢的次数,就是求别人最多能赢的次数。首先把我的牌先升序排序,然后我从小开始出,对于我出的牌,别人应该尽可能的压,而且用他们比我大的最小的那张牌;如果他们不压,那么他们后面这张牌就很有可能用不上,就少赢一次。 #include #include #include #include #include #include using namespa...
分类:其他好文   时间:2015-02-03 23:05:04    阅读次数:163
POJ 2231 Moo Volume
这题用的是贪心算法来算的,贪心策略如下: dist数组表示各个牛的位置距第一个牛的距离,当然之前要对牛的位置进行升序排序。 设a为第一头牛距各头牛的距离的总和,然后从第二头牛开始遍历,假设遍历到第i头牛时,那么标准为: t=t-(n-i)*d+i*d, 各变量的含义为:t一开始为a,然后每次就是该表达式运算之后的值; n为牛的总数; d为第i头牛和第i-1头牛之间的距离。这个公式画图其...
分类:其他好文   时间:2015-02-02 23:09:57    阅读次数:153
HDU 1051 Wooden Sticks
这题就是贪心算法,先对length升序排列,如果length相等,再按weight升序排列;反之亦可。然后根据题目要求进行选择即可。 不过我在写排序函数的时候出了一点问题,害得我还一度以为我的贪心策略是错的。 #include #include #include #include #include #include using namespace std; const int N=5005; ...
分类:其他好文   时间:2015-02-02 21:31:16    阅读次数:124
835条   上一页 1 ... 67 68 69 70 71 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!