pku acm 1042 Gone Fishing

原题链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1042

题目大概意思如下:

john去某湖泊钓鱼。他有1到16个小时的整数时间用来钓鱼,湖泊的数量为2到25。john必须从湖泊1开始选择钓鱼,

同时他可以选择从在任何一个湖泊钓鱼。同时呢,他只能从编号小的湖泊往编号大的湖泊前进,也就是说,如果他现在正在3号

湖泊钓鱼,那么他就不能再去1号和2号湖泊钓了。同时,从第i个湖泊到第i+1个湖泊要ti时间的路程。在第i个湖泊边钓鱼,第一

个5分钟可以钓鱼K条,以后再钓鱼5分钟,鱼量减小P。注意这5分钟为最小时间单位

输入的第一行为湖泊的数量n

第二行为钓鱼的可用时间数,以小时记

第三行为n个整数,表示第i个湖泊第一个5分钟的钓鱼数量

第四行为n个整数,表示第i个湖泊再钓鱼5分钟的鱼量减小值p

第五行为n-1个整数,表示从第i个湖泊到第i+1个湖泊所需要的时间数(以5分钟为单位)

如果是4,表示需要20分钟

输入以0表示结束

输出john在每个湖泊的停留时间数以及可能钓到的最大数量的鱼

注意如果存在相同的最优解,那么要选择序号小的湖泊停留时间相对长的那个

主要思想枚举+贪心

从第一个湖泊开始,依次枚举从1到i的湖泊,

从总的时间里把从1到i号湖泊路程上所用的时间减去,

然后对这些湖泊采用贪心原则,每次选择鱼量最多的湖泊开始钓

如果半路发现所有的湖泊已经没有鱼,但是时间还没有用完,那么把剩余的时间加到第一个湖泊上就行了

我搞了几个wrong answer就是因为这个没有ac

上java代码:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值