【DP】渡河问题

Farmer John需要借助木筏将N头奶牛过河,每增加一头奶牛,渡河时间会增加M_i分钟。求解将所有奶牛渡过河的最短时间。输入包括奶牛数量N、基础渡河时间M和每增加一头奶牛增加的时间M_i,输出是最短总时间。样例输入为5头奶牛,基础时间10分钟,对应增加的时间分别为3, 4, 6, 100, 1分钟,样例输出为50分钟。这个问题可以通过O(n^2)的动态规划算法解决。" 111920887,10324551,GD32VF103定时器配置详解:基础计时功能,"['GD32', '定时器配置', '嵌入式开发', '微控制器', 'MCU']
摘要由CSDN通过智能技术生成

                                            【题目描述】

Farmer John以及他的N(1 <= N <= 2,500)头奶牛打算过一条河,但他们所有的渡河工具,仅仅是一个木筏。
由于奶牛不会划船,在整个渡河过程中,FJ必须始终在木筏上。在这个基础上,木筏上的奶牛数目每增加1,FJ把木筏划到对岸就得花更多的时间。
当FJ一个人坐在木筏上,他把木筏划到对岸需要M(1 <= M <= 1000)分钟。当木筏搭载的奶牛数目从i-1增加到i时,FJ得多花M_i(1 <= M_i <= 1000)分钟才能把木筏划过河(也就是说,船上有1头奶牛时,FJ得花M+M_1分钟渡河;船上有2头奶牛时,时间就变成M+M_1+M_2分钟。后面的依此类推)。那么,FJ最少要花多少时间,才能把所有奶牛带到对岸呢?当然,这个时间得包括FJ一个人把木筏从对岸划回来接下一批的奶牛的时间。

【输入格式】

第1行: 2个用空格隔开的整数:N 和 M
第2..N+1行: 第i+1为1个整数:M_i

【输出格式】

第1行: 输出1个整数,为FJ把所有奶牛都载过河所需的最少时间

【样例输入】                                               【样例输出】

5 10                                                                                                                 50
3
4
6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值