2011年7月27日

poj-1042 Gone Fishing **

摘要: /* 贪心+优先级队列 * * 贪心:为了不讨论在路上花费的时间,可以枚举到过的湖:比如:totLake=j 表示 到过湖1、2、..、j 相应的, 花在路上的时间 * 就是 t[1]+t[2]+..+t[j-1] (显然每段路只会走一次) 于是算出leftTime,表示花在钓鱼上的时间 * 这样一来,就不同再考虑路上的时间了,可以认为John有瞬间移动,哪个湖鱼多,就到哪个湖钓(当然 湖的编号 满足 1 <= ~ <=totLake ) * * 于是可以用一个优先级队列,每次到与最多的湖钓, * 还要注意的是,如果某时刻有多个湖有同样多的鱼,则到湖编号最小的那个湖里钓!!(只要对 阅读全文

posted @ 2011-07-27 22:33 龙豆 阅读(1023) 评论(0) 推荐(0)

算法导论-15-7 达到最高效益的调度

摘要: 【转】问题:假设有一台机器,以及在此机器上处理的n个作业a1,a2,...an的集合。每隔作业aj有一个处理时间tj,效益pj,以及最后期限dj。机器在一个时刻只能处理一个作业,而且作业aj必须在tj连续时间单位内不间断地运行。如果作业aj在最后期限dj之前完成,则获得效益pj,但如果在最后期限之后才完成,则没有效益。请给出一个动态规划算法,来寻找能获得最大量效益的调度,假设所有的处理时间都是1到n之间的整数。——————————分析:其实这个问题类似于01背包问题。1. 将a1,a2,…,an按照dj值排序,从小到大。假设接下来的分析中,已经保证当i<j时,di<dj。添加d0= 阅读全文

posted @ 2011-07-27 10:45 龙豆 阅读(3581) 评论(2) 推荐(0)

算法导论-15.5-4

摘要: Exercises 15.5-4 Knuth has shown that there are always roots of optimal subtrees such that root[i,j-1]<=root[i,j]<=root[i+1,j] for all 1<=i<=n. Use this fact to modify the OPTIMAL-BST procedure to run in Θ(n^2) time.—————————————————————————————————————————————————— First prove this fact 阅读全文

posted @ 2011-07-27 09:36 龙豆 阅读(1472) 评论(0) 推荐(0)

导航