题意:在笔直的路边有一些池塘,从左到右编号为1,2...n。John共有H个小时的空余时间,他希望能钓到尽量多的鱼。他从池塘1出发,向右走,有选择的在一些池塘边停留一定的时间钓鱼, 现已经测出John从第i个湖到第i+1个湖走路需要的时间5*Ti分钟,还测出在第i个湖边停留,第一个5分钟可以钓到的鱼Fi,以后每5分钟能钓到的鱼的数量减少Di.为简化问题假定没有 其它因素会影响到他钓鱼的数量,要求出John能钓到最多鱼的方案。
解法:求出在h小时内可以走过的最大池塘数x,从1到x枚举,路上花费时间为t,用总时间减去t,剩下的是可用于钓鱼的总时间。 每次钓鱼用贪心算法,找出鱼最多的池塘钓。找出1到x所有情况下钓鱼最多的方案即为所求。注意小细节。
posted on 2010-12-21 15:32 David Liu 阅读(376) 评论(0) 编辑 收藏 引用 所属分类: 贪心算法
Powered by: C++博客 Copyright © David Liu