当前位置: 首页 > news >正文

洛谷 P1359 租用游艇

题目链接

P1359 租用游艇 普及

题目描述

长江游艇俱乐部在长江上设置了 n n n 个游艇出租站 1 , 2 , 3 , . . . , n 1,2,3,...,n 1,2,3,...,n,游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 i i i 到游艇出租站 j j j 之间的租金为 r ( i , j ) ( 1 ≤ i ≤ j ≤ n ) r(i,j) \quad (1 \leq i \leq j \leq n) r(i,j)(1ijn)

请计算出从 出租站 1 1 1 到 出租站 n n n 所需的最少租金。

输入格式

第一行中有一个正整数 n n n ,表示有 n n n 个游艇出租站。

接下来的 n − 1 n - 1 n1 行是一个半矩阵 r ( i , j ) ( 1 ≤ i ≤ j ≤ n ) r(i,j) \quad (1 \leq i \leq j \leq n) r(i,j)(1ijn)

输入格式

输出计算出的从游艇出租站 1 1 1 到游艇出租站 n n n 所需的最少租金

数据范围

n ≤ 200 n≤200 n200,保证计算过程中任何时刻数值都不超过 1 0 6 10^6 106

示例1:

输入:

3
5 15
7

输出:

12

解法:贪心

我们定义邻接矩阵 g g g g [ i ] [ j ] g[i][j] g[i][j] 记录的是 出租站 i i i 到 出租站 j j j 的距离。

我们定义 f [ i ] f[i] f[i] 表示从 出租站 1 1 1 到 出租站 i i i 所需要的最小租金。按照定义,我们最终返回的答案就是 f [ n ] f[n] f[n]

我们可以得出如下状态转移方程:

f [ i ] = m i n { f [ i ] , f [ j ] + g [ j ] [ i ] } ( 1 ≤ j < i ) f[i] = min \{ f[i] , f[j] + g[j][i] \} \quad (1 \leq j < i) f[i]=min{f[i],f[j]+g[j][i]}(1j<i)

时间复杂度: O ( n 2 ) O(n^2) O(n2)

C++代码:

#include<iostream>
#include<vector>using namespace std;const int N = 210;
int g[N][N];void solve(){int n;cin>>n;for(int i = 1;i < n;i++){for(int j = i + 1;j <= n;j++){cin>>g[i][j];}}vector<int> f(n + 1 , 1e9);f[1] = 0;for(int i = 2;i <= n;i++){for(int j = 1;j < i;j++) f[i] = min(f[i] , f[j] + g[j][i]);}cout<<f[n]<<'\n';
}int main(){solve();return 0;
}
http://www.lryc.cn/news/219172.html

相关文章:

  • springboot中没有主清单属性解决办法
  • C/C++ static关键字详解(最全解析,static是什么,static如何使用,static的常考面试题)
  • windwos10搭建我的世界服务器,并通过内网穿透实现联机游戏Minecraft
  • 【实战Flask API项目指南】之七 用JWT进行用户认证与授权
  • 鸿蒙LiteOs读源码教程+向LiteOS中添加一个简单的基于线程运行时的短作业优先调度策略
  • axios的使用与封装详细教程
  • C++二叉搜索树
  • elasticsearch索引按日期拆分
  • 纯python实现大漠图色功能
  • debounce and throtlle
  • 四、数据库系统
  • Linux中的高级IO
  • 项目管理之如何估算项目工作成本
  • Redis主从复制基础概念
  • 图数据库Neo4j概念、应用场景、安装及CQL的使用
  • 路由器基础(四): RIP原理与配置
  • 红外遥控开发RK3568-PWM-IR
  • go-sync-mutex
  • 高并发系统设计
  • Vue3-Pinia快速入门
  • Python算法——插入排序
  • Java21新特性
  • 4 Tensorflow图像识别模型——数据预处理
  • SpringBoot整合RabbitMQ学习笔记
  • 在校园跑腿系统小程序中,如何设计高效的实时通知与消息推送系统?
  • 求极限Lim x->0 (x-sinx)*e-²x / (1-x)⅓
  • JavaScript数据类型详细解析与代码实例
  • .NET Framework中自带的泛型委托Func
  • 深入理解JVM虚拟机第十七篇:虚拟机栈中栈帧的内部结构
  • uniapp中地图定位功能实现的几种方案