7-57 租用游艇问题——dp

news/2024/7/8 5:20:12

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

输入格式:
第1 行中有1 个正整数n(n<=200),表示有n个游艇出租站。接下来的第1到第n-1 行,第i行表示第i站到第i+1站,第i+2站, … , 第n站的租金。

输出格式:
输出从游艇出租站1 到游艇出租站n所需的最少租金。

输入样例:
在这里给出一组输入。例如:

3
5 15
7
输出样例:
在这里给出相应的输出。例如:

12

分析

在这里插入图片描述

  1. 输入的是倒三角,假设n=5,输入就如上图,第1站可以到达2 3 4 5,第二站可以到达3 4 5…;然后首先初始化f数组,把其不会到达的赋值为较大值;
  2. 然后枚举第1站能到达的所有站i(2~n),然后在这基础上,再枚举到达上面的 i 站可以选择的中转站,取最优;和Floyd有点像,就是暴力填表,由开始递推到最后;
#include<bits/stdc++.h>

using namespace std;

int n;
int f[205][205];

int main() {
    cin >> n;
    memset(f, 0x3f, sizeof f);
    for (int i = 1; i < n; ++i) {
        for (int j = i + 1; j <= n; ++j) {
            cin >> f[i][j];
        }
    }
    //枚举处理第1站能到的站
    for (int i = 2; i <= n; ++i) {
        //枚举处理 到达第i站,可以中转的
        for (int j = 2; j < i; ++j) {
            //可以直接从第1站到第i站,也可以先从第1站到第j站(前面已经递推了1到j站的较优解),再到第i站
            f[1][i] = min(f[1][i], f[1][j] + f[j][i]);
        }
    }
    cout << f[1][n];
    return 0;
}


http://lihuaxi.xjx100.cn/news/299067.html

相关文章

预训练+微调任务

1.ELMO微调2.微调阶段下游任务&#xff1a;用训练好的模型继续之后的任务Er(S1*E1(词特征)S2*E2(句特征)S3*E3(语义特征))注意&#xff1a;ELMO并不是把文本编码成向量之后&#xff0c;直接作为下游任务模型输入&#xff0c;而是将ELMO编码的向量作为新的单词特征补充到下游任务…

八、Nacos服务注册和配置中心

SpringCloud Alibaba Nacos服务注册和配置中心 Nacos简介 为什么叫Nacos 前四个字母分别为Naming和Configuration的前两个字母&#xff0c;最后的s为Service 是什么 一个更易于构建云原生应用的动态服务发现&#xff0c;配置管理和服务管理中心 Nacos&#xff1a;Dynamic…

Java中常用判断方法

常用判断方法对象的判断&#xff08;Objects工具类-Java自带&#xff09;Objects.equals(Object a, Object b)Objects.isNull(Object obj)Objects.nonNull(Object obj)Objects.toString(Object o, String nullDefault)字符串的判断&#xff08; StringUtils工具类-Hutool&#…

Android 11.0 设置默认8时区和默认24小时制

目录 1.概述 2.设置默认8时区和默认24小时制的核心类 3.设置默认8时区和默认24小时制的核

【华为上机真题 2022】按照身高体重排队

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

唯一索引和普通索引应该如何选择?

唯一索引和普通索引应该如何选择 唯一索引&#xff1a;唯一索引和主键索引一样不能重复。唯一索引可作为数据的一个合法检验手段。普通索引&#xff1a;在创建普通索引时&#xff0c;没有任何的限制条件&#xff0c;比如非空或者唯一&#xff0c;可以在任意字段上建立普通索引…

表数据结构变动、修复表数据的历史版本兼容解决方案

​ 平时我们做业务需求的时候&#xff0c;难免会碰到有些非常大的改动&#xff0c;大到要修改表结构或者数据结构才能满足&#xff0c;这时候如何能同时兼容老版本的业务与新版本的业务就是一个首要解决问题 1.将老版本数据格式升级到新版本 这是一个很容易想到的解决方案&…

Vue3聊天气泡简单实现思路

Vue3聊天气泡简单实现 实现聊天气泡主要有两个注意点&#xff1a; ①是根据字体数量自适应框的长度 ②字体到框有边距&#xff0c;也就是为了美观 这篇博客主要讲实现的思路&#xff0c;不讲聊天气泡的三角突出点&#xff0c;如下所示&#xff1a; 三角突出点通过简单的bord…