![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
贪心算法
文章平均质量分 69
贪心算法
RocSin
这个作者很懒,什么都没留下…
展开
-
POJ 1328 简单贪心算法
貌似本题数据类型也挺重要的,没有具体测试了,就直接用double了,一开始存x, y的时候用的是int,结果wa了,可是之后改成了double还wa,才发现其实是贪心的时候排序出错了。。。。 #include #include #include using namespace std; struct Island { double x, y; double原创 2013-04-02 09:37:23 · 1475 阅读 · 0 评论 -
UVa 10465 - Homer Simpson(背包&贪心)
/** * 这题第一思路就是贪心,还是因为dp题做的少。 这题也是很明显的完全背包问题 * 不过对于这题贪心的效率更高吧。 * 思路: 令 m > n , 枚举n的个数的所有可能 0 到 sizeOfN。 * 因为这样枚举的话,能够使得先得到的一定比后得到的所选取的个数大。 * 然后用一个数组remain[10001]存drink beer的时间的各种情况所能够吃的最多的汉堡数。 *原创 2013-05-14 17:42:30 · 897 阅读 · 0 评论 -
UVa 10954 - Add All 贪心+优先队列
/** * 这题考的就是贪心选择,加优先队列的使用。 * 因为一开始想到的是队列,而优先队列之前不怎么用。 * 结果花了大半时间去试着证明每次入队加出队后原来的队列能否保持从小到大。 * 后来突然想到还有优先队列……这是数据结构的缺漏吗。 * 总之这题的贪心选择就是,每次选最小的两个相加。。 */ #include #include #include #include #include原创 2013-05-04 11:19:18 · 704 阅读 · 0 评论 -
UVA 10700 Camel trading 贪心(栈的使用)
/** * 这题用的是STL,第一次用STL做题,感觉挺方便的! * 不过这题还是贪心的思想吧,猜想:求最大值的时候先相加后相乘,求最小值的时候先相乘后相加。 * 证明: 依题: a,b,c,d...>= 1. 所以有 a + b * c > (a + b)*c 相减下就行了 * 所以以上思路是正确的。 * 这里说下实现方法,毕竟是第一次用stack. * 用两个栈numPlus,原创 2013-04-28 09:06:05 · 789 阅读 · 0 评论 -
UVA 10020 - Minimal coverage (贪心) 区间覆盖问题
Minimal coverage The Problem Given several segments of line (int the X axis) with coordinates [Li,Ri]. You are to choose the minimal amount of them, such they would completely cover the segm原创 2013-04-29 17:39:13 · 1604 阅读 · 0 评论 -
UVa 10026 Shoemaker's Problem 贪心
/** * 一开始不会处理,只知道,fine大的该先处理,但是耗时time小的也该先处理。 * 居然没辙了。。。然后看人代码。。用了 (fine)/ (time)(或者倒过来) 作为关键字比较。 * 开始还没明白为什么要这样,有什么实际意义。。 * 然后想了想,根本不需要实际意义。。因为fine和time都是影响排序的因素,所以都要考虑, * 把他们的商做关键字的话,正好同时考虑了! 当fine大原创 2013-04-29 11:39:31 · 722 阅读 · 0 评论 -
UVa 10132 - File Fragmentation 贪心+枚举
/** * 贪心题 * 思路:能否先找出所有可能的答案? 如果能找出所有可能的答案而且可能的情况很小的话,一一枚举也是很快的! * 怎么找? 首先在每次输入的时候,就对所有字符串进行预处理。 用三维数组str来存数据,第一个方括号表示的是该字符串的长度, * 中间的表示有2个这样长度的字符串(为什么只有2个,因为按照题意,必然是能够够成原文件的,同样长度的字符串, * 只有可能是前面那原创 2013-04-25 00:58:13 · 957 阅读 · 0 评论 -
UVa 10905 Children's Game 贪心
/** * 这是贪心题吧? 或者就说排序吧。。 * 只要保证string数组每个元素连接之后字典序最大就行了。。。 * 其实类比下普通排序的比较数值大小就很好理解了,排序的时候, * 为了让最后数组从大到小或从小到大,使得每两个需要比较的元素都保持这个性质(在这里就是连接后字典序较大) * 这STL用的,还能这样啊。。长见识了。。我是看人代码的。。。 * */ #in原创 2013-04-23 21:40:54 · 654 阅读 · 0 评论 -
HDOJ 2037 今年暑假不AC (简单贪心)
贪心基本题, 有助于理解贪心算法的思想 #include #include using namespace std; struct Program { int begin, end; } programs[100]; /** 贪心: 贪心算法的基本步骤 : * 1、从问题的某个初始解出发。 * 2、采用循环语句,当可以向求解目标前进一步时,就原创 2013-04-04 10:44:04 · 5110 阅读 · 0 评论 -
UVa 714 Copying Books 二分 + 贪心 (最大值最小化问题)
/** * 最大值最小化问题: 二分法。 刘汝佳那本白书上也说的很详细。 * 先把最大值的可能区间计算出来,也就是[0, maxAns] maxAns 就是所有页数总和。 * 然后再在答案区间里先把“最大值最小化”。 * 得到最小化后的最大值以后,就可以根据这个最大值来对最终答案进行计算。 * 如何分区,也就是计算最后答案ans: 这里就要用到贪心思想,因为题目要求 *原创 2013-06-26 20:17:05 · 4730 阅读 · 0 评论