随笔分类 - 贪心
摘要:对英文文本的字母进行huffman编码,heapq优先队列构建huffman树 python huffman.py source.txt result.txt 1 import sys 2 import heapq 3 import collections 4 5 class Node(object): 6 def __init__(self,value = Non...
阅读全文
摘要:题意: 有一些木棍,每个有长度和重量,要求把这些木棍排成若干两个属性值均不下降的序列。问至少要分为多少个序列。且要保证排出来的子序列数最少。 思路: ( 9 , 4 ) ,( 2 , 5 ) ,( 1 , 2 ) ,( 5 , 3 ),( 4 , 1 )可以排成这样 ( 4 , 1 ) , ( 5
阅读全文
摘要:题意:有n个牛在FJ的花园乱吃。所以FJ要赶他们回牛棚。每个牛在被赶走之前每秒吃Di个花朵。赶它回去FJ来回要花的总时间是Ti×2。在被赶走的过程中,被赶走的牛就不能乱吃 思路: 先赶走破坏力大的牛假设序列都由二元组组成,二元组是由T和D组成,那么对一个序列有相邻的两头牛是这样的..........
阅读全文
摘要:POJ 3040 题意: 给奶牛发工资,每周至少 C 元。约翰手头上有面值V_i的硬币B_i个,这些硬币的最小公约数为硬币的最小面值。求最多能发几周? 分析: 贪心策略是使多发的面额最小(最优解)。分三个阶段: 1. 首先面额不小于C的硬币属于没办法节约的类型,先统统发掉。 2. 然后对硬币面额从大
阅读全文
摘要:POJ 1017 题意: 一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. 这些产品通常使用一个 6*6*h的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送
阅读全文
摘要:POJ 2393 题意: 每周可以生产牛奶,每周生产的价格为Ci,每周需要上交的牛奶量Yi,你可以选择本周生产牛奶,也可选择提前几周生产出存储在仓库中(仓库无限大,而且保质期不考虑),每一周存仓库牛奶需要花费S元,让你求出所有周的需求量上交的最少花费。 分析: 因为第 i 周的奶酪,可以在第 i 周
阅读全文
摘要:POJ 3190 题意: 一些奶牛要在指定的时间内挤牛奶,而一个机器只能同时对一个奶牛工作。给你每头奶牛的指定时间的区间(闭区间),问你最小需要多少机器。思路:先按奶牛要求的时间起始点进行从小到大排序,然后维护一个优先队列,里面以已经开始挤奶的奶牛的结束时间早为优先。然后每次只需要检查当前是否有奶牛
阅读全文
摘要:POJ 1328 题意: 将一条海岸线看成X轴,X轴上面是大海,海上有若干岛屿,给出雷达的覆盖半径和岛屿的位置,要求在海岸线上建雷达,在雷达能够覆盖全部岛屿情况下,求雷达的最少使用量。 分析: 贪心法,先研究一下每个岛屿,设岛屿到海岸线的垂直距离为d,雷达的覆盖半径为k,若d>k,直接输出-1,若d
阅读全文
摘要:POJ 2376 题意: 给出一给大区间和n各小区间,问最少可以用多少小区间覆盖整个大区间。 分析: 贪心法。设t为当前所有已确定区间的最右端,那我们可以每次都取所有可选的小区间(左端点<=t+1)中右端点最大的值,然后更新最右端点ans++。初始时t=0 注:所谓衔接不是[0,1][1,2]这样首
阅读全文

浙公网安备 33010602011771号