动态规划法求解游艇租用问题

游艇租用问题:长江旅游俱乐部在长江上设置了N个游艇出租站0,1,2,…,N-1,游客在这些站中租用游艇,并在下游的任何一个游艇出租站归还,游艇出租站i到游艇出租站j之间的租金为fee(i,j),0≤i<j≤N-1;试使用动态规划法求出从游艇出租站0到游艇出租站N-1所需的最少租金;

使用动态规划法求解游艇租用问题,问题模型为“多源点路径问题”,其核心为Floyd算法的使用

设用数组minCost[n][n]表示站点间的最少租金,fee[n][n]表示站点间的直达租金,minCost初始与fee相等。可推导出动态规划函数:
minCost[i][j]=min{Fee[i][j],minCost[i][k]+minCost[k][j]} 0≤k≤n-1

#include <iostream>using namespace std;const int n = 6;void Floyd(int arc[n][n], int dist[n][n]){int i,j,k;for(i=0; i<n; i++)for(j=0; j<n; j++)dist[i][j] = arc[i][j];     //初始化distfor(k=0; k<n; k++)for(i=0; i<n; i++)for(j=0; j<n; j++)if(dist[i][k]+dist[k][j] < dist[i][j])dist[i][j] = dist[i][k]+dist[k][j];
}int main()
{int fee[n][n]= {{0,3,15,18,29,34},{3,0,1, 17,18,23},{15,1,0,10,12,15},{18,17,10,0,4, 7},{29,18,12,4,0, 1},{34,23,15,7,1, 0}};int minCost[n][n];Floyd(fee, minCost);cout << "最少花费:" << minCost[0][5] << "元。"<< endl;return 0;
}

动态规划法求解游艇租用问题C++代码相关推荐

  1. 货物配送问题的matlab,免疫算法求解配送中心选址问题matlab代码

    免疫算法求解配送中心选址问题matlab代码 所属分类:matlab例程 开发工具:matlab 文件大小:31KB 下载次数:3 上传日期:2020-12-01 16:11:00 上 传 者:代码大 ...

  2. 贪心算法 背包问题代码 c语言,用贪心算法求解普通背包问题的C++代码

    用贪心算法求解普通背包问题的C++代码 2019年3月6日 125次阅读 来源: 贪心算法 #include #define  M  100 void display(int &n,doubl ...

  3. 用动态规划法求解TSP问题

    一.求解TSP问题 1.问题描述 TSP问题(担货郎问题,旅行商问题)是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短 各个城市间的距离可以用代价矩阵来表示 ...

  4. 三阶魔方自动求解及动态可视化matlab代码

    三阶魔方自动求解及动态可视化matlab代码 思路与步骤 总结 思考 参考链接 源代码 第一次写博客,想总结分享下以前做过的一些有趣的东西,目的是为了回望过去与展望未来,同时为了提高自己的写作表达能力 ...

  5. N皇后问题递归求解(内附详细代码)

    N皇后问题递归求解(内附详细代码) 内容描述 在n*n的方格棋盘上,放置n个皇后,要求每个皇后不同行.不同列.不同对角线. 解题思路 下面我们以4皇后问题举例: 设queen(i,n)是在1-i-1行 ...

  6. 【动态规划】最大K乘积问题和游艇租用问题——武汉理工大学算法设计与分析课程实验

    1.  最大K乘积问题 « 问题描述 设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 例如十 ...

  7. 动态规划:游艇租用问题

    问题描述: 长江游乐俱乐部在长江上设置了n个游艇出租站,游客可以在这些游艇出租站用游艇,并在下游任何一个游艇出租站归还游艇,游艇出租站i到j之间的租金是rent(i,j),其中1<=i<j ...

  8. 【动态规划】游艇租用问题(c++)

    1.首先放题目  « 问题描述 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,-,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i到游艇出租站j之间的租金为r ...

  9. 求解射线交点的完整代码

    // Det.cpp : Defines the entry point for the console application. // #include "stdafx.h" # ...

最新文章

  1. 从零搭建 Spring Cloud 服务(超级详细)
  2. 字符设备驱动开发流程详解
  3. Hyperledger Fabric 超级账本 Java 开发区块链环境构建
  4. 【攻防世界012】gametime
  5. Hadoop MapReduce实例:按照手机号归属地分区统计手机上网流量(Reduce Task进程数设置)
  6. ubuntu安装VMware出错
  7. VC6重载字体对话框,去除颜色下拉框
  8. Imgproc.findContours函数
  9. redis list放入对象_Redis从入门到入土:详细讲解内存模型以及常用命令
  10. Responsive Web Design
  11. python中plt定义,对Python中plt的画图函数详解
  12. Kindle fire 刷机
  13. Kail linux中无法定位软件包
  14. PS学习-剪切蒙版制作艺术字
  15. Market Risk Modeling
  16. 如何做一名优秀的程序员?
  17. 创建自己第一个安卓程序_从一天创建和发布我的第一个应用程序中学到的东西...
  18. redo synch writes在什么情况下发生
  19. ardupilot python之px_uploader.py学习
  20. 2021-07-12测绘资质新标准和旧标准改革内容

热门文章

  1. 我在她心中到底是什么呢?
  2. 开源 GitOps 产业发展社区正式成立,智领云成首批理事会员
  3. 【LeetCode】312. 戳气球
  4. 阿里云 P10 研究员吴翰清(道哥)离职,投身 AI 短视频创业
  5. 嵌入式开发人员,这些ROM、FLASH、硬盘技术知识,必须要了解
  6. latex c语言字体,LaTex基本语法-和word对应的字体等(转).doc
  7. mac环境Android将屏幕录制视频转化成GIF动态图
  8. CAD绘图技巧:教你一分钟如何快速绘制电视墙模型?
  9. TI DSP TMS320C66x学习笔记之DSP优化经验
  10. 基于MATLAB/Simulink的太阳能光伏MPPT控制蓄电池充电仿真模型