Advertisement

动规:租船业务

阅读量:

题目描述
长江上的游艇俱乐部设立了 n 个游艇租赁站点,编号分别为 1,2,⋯,n。游客可以在任意一个站点租借游艇,并在位于其下游的任一站点归还。从站点 i 到站点 j 的租金为 r(i,j)(其中 1≤i<j≤n)。现需设计一种计算方法,用以确定从站点 1 到站点 n 所需支付的最低租金。

输入格式
首行包含一个正整数 n,表示租赁站点的数量。随后的 n−1 行数据构成一个半矩阵,用于表示 r(i,j)(满足 1≤i<j≤n)。

输出格式
输出从站点 1 到站点 n 所需支付的最少租金金额。

输入输出样例
输入 #

复制代码
    3
    5 15
    7
    
    
      
      
      
    

输出 #

复制代码
    12
    
    
      
    

题目中所指的半矩阵实际上表示的是上三角矩阵,例如上述输入样例所展示的情形,
相关费用计算方式如下:

第1站 第2站 第3站
第1站 0 5 15
第2站 0 0 7
第3站 0 0 0

这是一道动态规划问题
对应的状态转移公式为:
f[j] = min(f[j],r[i][j]+f[i])
在此表达式中,f[j]表示针对前1至j个站点,从第1站点出发到

全部评论 (0)

还没有任何评论哟~