题目描述

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

对于给定的游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1<=i<j<=n,编程计算从游艇出租站1 到游艇出租站n所需的最少租金。

保证计算过程中任何时刻数值都不超过10^6

输入输出格式

输入格式:

由文件提供输入数据。文件的第1 行中有1 个正整数n(n<=200),表示有n个游艇出租站。接下来的n-1 行是一个半矩阵r(i,j),1<=i<j<=n。

输出格式:

程序运行结束时,将计算出的从游艇出租站1 到游艇出租站n所需的最少租金输出到文件中。

输入输出样例

输入样例#1:

3
5 15
7

输出样例#1:

12

spfa  有向边

#include <iostream>
#include <cstring>
#include <cstdio>
#define INF 0x7fffffff
#define MX 50010
using namespace std;struct node {int to,next,dis;
}e[MX];
int head[MX],ds[MX];
bool vis[MX];
int n,i,j,k,tot;
void add(int u,int v,int w)
{tot++;e[tot].to=v;e[tot].next=head[u];head[u]=tot;e[tot].dis=w;
}
void spfa(int n)
{int l=0,r=0,que[2010];for(i=1;i<=k;++i){ds[i]=INF;vis[i]=0;}r++;que[r]=n;ds[n]=0;vis[k]=1;while(l<=r){l++;int top=que[l];vis[top]=0;for(i=head[top];i;i=e[i].next){int v=e[i].to;if(ds[v]>ds[top]+e[i].dis){ds[v]=ds[top]+e[i].dis;if(!vis[v]){vis[v]=1;r++;que[r]=v;}}}}
}
int main()
{int c,x=0,y=0;cin>>k;for(i=1;i<=k-1;++i){for(j=i+1;j<=k;++j){cin>>c;add(i,j,c);}}spfa(1);cout<<ds[k];
}

转载于:https://www.cnblogs.com/ruojisun/p/6287942.html

洛谷 P1359 租用游艇相关推荐

  1. 【洛谷P1359租用游艇】

    洛谷P1359租用游艇 为什么想到dp: 比它小的点能转移到它 类似于数字三角形模型 类似于贪心,或者说无后效性,一旦前面某个点确定了最小值,那么后面对其无影响 思路:根据题意,只有小的点能转移到大的 ...

  2. 洛谷P1359 租用游艇

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

  3. 洛谷P1359租用游艇

    建议跟着我的代码自己打个表就懂了 #include<iostream> using namespace std; int n; int t[205][205];//时间 int dp[20 ...

  4. 洛谷 1359 租用游艇

    [题解] 裸的最短路.直接跑dijkstra即可. 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring ...

  5. P1359 租用游艇 洛谷

    https://www.luogu.org/problem/show?pid=1359 题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,-,n.游客可在这些游艇出租站租用游艇,并在下游的 ...

  6. 【洛谷】P1359 租用游艇

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

  7. CSP-J冲刺 P1359 租用游艇

    题目弹射机:租用游艇 - 洛谷 看完题后,你可以很快对输入进行判断:定义a[i][j]为从i->j的租金 然后就是激(suǒ)动(rán)人(wú)心(wèi)的推导转移方程的环节. 第一步:画 ...

  8. P1359 租用游艇【Floyd】

    为什么我想讲Floyd算法呢? 因为我觉得 我自己掌握的不太好 码量很少 好,让我们回顾一下Floyd算法 Floyd算法 Floyd算法(Floyd-Warshall algorithm)又称为弗洛 ...

  9. P1359 租用游艇(dijkstra不优化)

    //dijkstra不用优先队列和邻接表优化的话比较好写 题目描述 长江游艇俱乐部在长江上设置了 nn 个游艇出租站 1,2,\cdots,n1,2,⋯,n.游客可在这些游艇出租站租用游艇,并在下游的 ...

最新文章

  1. 连接池你用对了吗?一次Unexpected end of stream异常的排查
  2. 大学计算机二级考试 vb,大学计算机二级考试常用vb代码.docx
  3. boost::initialized<T>相关的测试程序
  4. CSS实现半透明div层的方法
  5. 重复控件Repeater和数据列表控件DataList
  6. WINHEX Scripts
  7. 穿越沙漠问题c语言算法,穿越沙漠问题---递推法
  8. 写书用什么软件好_微信加人软件什么样的引流效果好
  9. 淘宝 喵铺脚本自动签到脚本
  10. 《增量绩效管理》读后感--回归产品,增量产出
  11. QQ群—取消对某人的屏蔽
  12. Qt在线安装器下载快的办法
  13. Causality matters in medical imaging 文献解读
  14. 《年度区块链产业发展报告(2020)》重磅发布,透视产业应用现状与未来
  15. python学习笔记(三)之字符串的处理
  16. 修改vscode左侧目录字体大小
  17. JVM(二十二) -- 性能监控与调优(三) -- JVM监控及诊断工具--GUI篇
  18. python 基础笔记之 loc和iloc
  19. 面试时想拿 13K,HR 说你只值 8K,该怎么回答?
  20. VPS主机适合干什么?

热门文章

  1. IDEA显示树状目录结构
  2. Kafka produce flush 引起的性能分析
  3. Monte Carlo Counterfactual Regret Minimization
  4. flv.js播放视频时遇到的问题
  5. 基于Arduino Uno开发板的红外遥控开发
  6. EC20 GPS RMC格式数据转化
  7. TCP BBR Startup gain计算总结和Startup失速问题
  8. Java编写三角形和平行四边形
  9. 浅谈Linux USB设备驱动
  10. 多可系统的权限规则详解