租用游艇问题 石子合并问题 动态规划实验

本文详细介绍了如何运用动态规划解决租用游艇问题和石子合并问题,通过实验预习、算法描述和实例计算,展示了动态规划设计思想、步骤以及在C++中的实现。通过这两个实际问题,深入理解动态规划在优化问题中的应用。

实验名称:               动态规划                         

一、实验预习

1、实验目的

1. 理解并掌握动态规划方法的设计思想;

2. 提高应用动态规划方法解决问题和设计算法的能力;

3. 通过编程实现租用游艇问题和石子合并问题,进一步理解动态规划方法解题的四个基本步骤。

2、实验内容

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

两个测试用例:输入数据分别由文件名为 input 1.txt和input 2.txt的文本文件提供,文件的第一行中有 1 个正整数 n(n<=200),表示有 n个游艇出租站。接下来的 n-1 行是 r(i, j), 1≤i<j≤n。请分别计算并给出结果。

2. 石子合并问题:在一个操场上一排地摆放着 n 堆石子。要求将这些石子有次序地合并成一堆。规定每次只能选相邻的两堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将 n 堆石子合并成一堆的最小得分。

两个测试用例:输入数据分别由文件名为 input 1.txt和input 2.txt的文本文件提供,文件的第一行有 1 个正整数 n,表示石子的堆数。第二行有 n 个数,分别表示每堆石子的个数。

3、硬、软件环境

计算机型号:Windows 11版81FW

编程语言:C++

开发工具:Dev-C++

4、实验预备工作

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创业者-杨成淦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值