长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1< =i< j < =n。试设计一个算法,计算出从游艇出租站1 到游艇出租站n 所需的最少租金。
输入
第1 行中有1 个正整数n(n<=200),表示有n个游艇出租站。接下来的n-1 行是r(i,j),1< =i< j < =n。
输出
从游艇出租站1 到游艇出租站n所需的最少租金
样例输入
3 5 15 7
样例输出
12
分析
这道动态规划题灰常简单(o(^□^)o),一个一维数组就搞定;
现在我们来思考一下,对于每个点 j 的租金 = min(j 点已经计算的租金,前面的任意一点 i 已经花费 + i 到 j 要花费的租金);
即公式: cost[ j ] = min(cost[ j ],cost[ i ] + link[ i ][ j ]);
SWUST OJ 之 0574 Renting Boats
最新推荐文章于 2022-02-11 15:41:23 发布