关闭

租用游艇问题

506人阅读 评论(4) 收藏 举报
分类:
#include "iostream"
#include "algorithm"
#include "fstream"
using namespace std;

/*
f[i][j]表示出租站i到出租站j之间的最少租金

f[i][j] = min{f[i][k]+f[k][j]}

*/

int f[50][50];
int a[50][50];

int dyna(int n)
{
    //初始化
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            f[i][j] = a[i][j];

    for(int r=2; r<=n; r++)  //问题规模
        for(int i=1; i<=n-r+1; i++)  //区间左端点
        {
            int j = i + r - 1;  //区间右端点
            for(int k=i+1; k<=j; k++)  //断点
            {
                int temp = f[i][k] + f[k][j];
                if(temp < f[i][j])
                    f[i][j] = temp;
            }
        }
    return f[1][n];
}




int main()
{
    ifstream fin("rend.txt");
    cout  << "输入出租站个数:";
    int n;
    fin >> n;  cout << n;
    cout << "\n输入租金:\n";
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n-i; j++)
        {
            fin >> a[i][i+j];   //a[i][j]表示从i到j的租金
            cout << a[i][i+j] << " ";
        }
        cout << endl;
    }

    cout << "从出租站1到出租站" << n << "的最少租金为:" << dyna(n) << endl;
    fin.close();
    return 0;
} 

这里写图片描述

0
0
查看评论

动态规划之游艇租用问题

最近老师在将动态规划,
  • u011181878
  • u011181878
  • 2014-04-20 17:30
  • 1476

游艇租用问题2

上一篇 blog 中用了一种方法来解决这个问题。在看别人博客时,发现可以用一维数组两重循环来解决。 状态转移方程 : dp (i)  = min(dp(i),dp(j)+r(j,i)) ; 其中dp(i)初始化为r(0,i), 0 code 如下: #inc...
  • qq_21063873
  • qq_21063873
  • 2016-11-02 20:45
  • 428

算法之租用游艇问题

一、问题描述: 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,3…,n。有课可以在这些游艇出租站用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1算法,计算从游艇出租站1到出租站n所需的最少租金。 二、算法设计: 对于给定的游艇出租站i到游艇出租...
  • gpltoken
  • gpltoken
  • 2016-10-28 10:33
  • 3186

动态规划:游艇租用问题

问题描述: 长江游乐俱乐部在长江上设置了n个游艇出租站,游客可以在这些游艇出租站用游艇,并在下游任何一个游艇出租站归还游艇,游艇出租站i到j之间的租金是rent(i,j),其中1 这是一道典型的动态规划问题。解题的思路是,既然要得到最小的花费,那么就从最底层开始,逐层向上计算每两个站之间的最小花...
  • Artprog
  • Artprog
  • 2015-11-17 12:52
  • 4324

算法_动态规划_租用游艇问题

问题描述: 长江游乐俱乐部在长江上设置了n个游艇出租站,游客可以在这些游艇出租站用游艇,并在下游任何一个游艇出租站归还游艇,游艇出租站i到j之间的租金是rent(i,j),其中1<=iimport java.util.Scanner;public class Main { priva...
  • huangxiang360729
  • huangxiang360729
  • 2016-04-11 20:57
  • 671

游艇租用问题(动态规划)

一、问题描述: 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,3…,n。有课可以在这些游艇出租站用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1 二、实现代码: #include #include using namespace std;...
  • somestill
  • somestill
  • 2013-04-21 15:12
  • 4153

学习动态规划之游艇租用问题

一、问题描述: 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,3…,n。游客可以在这些游艇出租站用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1算法,计算从游艇出租站1到出租站n所需的最少租金。 二、算法设计: 对于给定的游艇...
  • qq_33859629
  • qq_33859629
  • 2017-03-22 19:42
  • 375

算法实现题:3-9 租用游艇问题

算法实现题:3-9 租用游艇问题题目略.这个一个可用DP求解的问题。N个游艇出租站,不妨从出发到终点分别编号0,2,……N-1而且每两个站的租金都是不一样的,我们用r(i,j)表示每两个站之间的租金费用!现在我们要租用游艇从一个站的另外一个站,那么我们采取不同的停靠站策略就有不同的租金了!比如我们从...
  • wenfeng627
  • wenfeng627
  • 2010-04-08 02:20
  • 2074

【动态规划】租用游艇问题

Description 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1 试设计一个算法,计算从游艇出租站1到游艇出租站n所需的最少租金。 ...
  • u010932314
  • u010932314
  • 2014-07-08 17:36
  • 4443

|洛谷|动态规划|P1359 租用游艇

https://www.luogu.org/problem/show?pid=1359 挺简单的一道区间DP,注意半矩阵的读入 #include #include #include #include #define ms(i,j) memset(i,j, sizeof i); /* NOIP20...
  • Darost
  • Darost
  • 2016-11-05 22:54
  • 258
    个人资料
    • 访问:393743次
    • 积分:11993
    • 等级:
    • 排名:第1475名
    • 原创:831篇
    • 转载:47篇
    • 译文:4篇
    • 评论:127条
    最新评论