贪心算法
文章平均质量分 69
ctsas
这个作者很懒,什么都没留下…
展开
-
完美字符串 贪心
约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。 约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。 分析: 由排序不等式,出现次数最多的字母显然应该给26。所以这原创 2017-01-20 13:17:41 · 925 阅读 · 0 评论 -
活动安排问题 贪心
有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动? 分析: 我们就是想提高教室地利用率,尽可能多地安排活动。 考虑容易想到的几种贪心策略: (1) 开始最早的活动优先,目标是想尽早结束活动,让出教室。 然而, 这个显然不行,因为最早的活动可能很长,影响我们进行后面的活动。例如活动开始和结束时间分别为[0, 100), [1原创 2017-01-20 13:20:50 · 7993 阅读 · 0 评论 -
活动安排问题之二 贪心
有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室? 分析:能否按照之一问题的解法,每个教室安排尽可能多的活动,即按结束时间排序,再贪心选择不冲突的活动,安排一个教室之后,剩余的活动再分配一个教室,继续贪心选择…… 反例: A:[1,2) B:[1,4) C:[5,6) D:[3,7) 已经按结束时间排好顺序,我原创 2017-01-20 13:23:48 · 9549 阅读 · 0 评论 -
独木舟问题 贪心
n个人,已知每个人体重,独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? 分析: 一个显然的策略是按照人的体重排序。 极端化贪心策略,最重的人要上船——如果最重的人和最轻的人体重总和不超过船的承重,则他们两个占用一条船。否则(因为假设最重的人的体重也不超过船的承重了),最重的原创 2017-01-20 13:26:54 · 1619 阅读 · 0 评论 -
任务执行顺序 贪心
分析: 本题可以抽象成,从一个整数开始,每次减去a,再加上b (a,b都是正数),要求每次操作都不产生负数。 针对本题a[i] = R[i], b[i] = R[i] – O[i],注意O[i] 我们给出标准答案——按照b[i]不增的顺序排序,是最“有利”的。 为了定义“有利”,我们这样证明我们的结论: 如果对于b[0]>=b[1] >=…>=b[x]原创 2017-01-20 15:41:34 · 8111 阅读 · 0 评论 -
[HPU] Wooden Sticks [贪心]
题目描述 Lialosiu要制作木棍,给n根作为原料的木棍的长度和重量。根据要求求出制作木棍的最短时间。首先我们知道制作第一个木棍需要1分钟,若是接着要制作的木棍的重量和长度都不少于当前的木棍,那么就不需要建立的时间,若是没有,则再需要建立时间,也就是1分钟。举个例子,如果你有五个原料木棍,他们的长度和重量分别是(4,9), (5,2), (2,1), (3,5), 和 (1,4), 那么第一分钟原创 2017-02-21 19:24:13 · 306 阅读 · 0 评论 -
Bi-shoe and Phi-shoe [欧拉函数][贪心]
Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popular coach for his success. He needs some bamboos for his students, so he asked his assistant Bi-Shoe to go原创 2017-02-15 15:39:15 · 425 阅读 · 0 评论