P1796 汤姆斯的天堂梦
题目描述
汤姆斯生活在一个等级为0的星球上。那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍。他向往着等级为N的星球上天堂般的生活。
有一些航班将人从低等级的星球送上高一级的星球,有时需要向驾驶员支付一定金额的费用,有时却又可以得到一定的金钱。
汤姆斯预先知道了从0等级星球去N等级星球所有的航线和需要支付(或者可以得到)的金钱,他想寻找一条价格最低(甚至获得金钱最多)的航线。
输入输出格式
输入格式:
第一行一个正整数N(N≤100),接下来的数据可分为N个段落每段的第一行一个整数Ki(Ki≤100),表示等级为i的星球有Ki个。
接下来的Ki行中第Tij个依次表示与等级为i,编号为j的星球相连的等级为i-1的星球的编号和此航线需要的费用(正数表示支出,负数表示收益,费用的绝对值不超过1000)。
每行以0结束,每行的航线数≤100。
输出格式:
输出所需(或所得)费用。正数表示支出,负数表示收益。
输入输出样例
3 2 1 15 0 1 5 0 3 1 -5 2 10 0 1 3 0 2 40 0 2 1 1 2 5 3 -5 0 2 -19 3 -20 0
-1
说明
对于100%的数据N≤100 Ki≤100。
样例解释:
简单dp
用spfa也可以
// 去吧!皮卡丘! 把AC带回来! // へ /| // /\7 ∠_/ // / │ / / // │ Z _,< / /`ヽ // │ ヽ / 〉 // Y ` / / // イ● 、 ● ⊂⊃〈 / // () へ | \〈 // >ー 、_ ィ │ // // / へ / ノ<| \\ // ヽ_ノ (_/ │// // 7 |/ // >―r ̄ ̄`ー―_ //************************************** #pragma comment(linker, "/STACK:1024000000,1024000000") #include <bits/stdc++.h> using namespace std; typedef long long ll; #define inf 2147483647 const ll INF = 0x3f3f3f3f3f3f3f3fll; #define ri register int template <class T> inline T min(T a, T b, T c) { return min(min(a, b), c); } template <class T> inline T max(T a, T b, T c) { return max(max(a, b), c); } template <class T> inline T min(T a, T b, T c, T d) {return min(min(a, b), min(c, d)); } template <class T> inline T max(T a, T b, T c, T d) {return max(max(a, b), max(c, d)); } #define scanf1(x) scanf("%d", &x) #define scanf2(x, y) scanf("%d%d", &x, &y) #define scanf3(x, y, z) scanf("%d%d%d", &x, &y, &z) #define scanf4(x, y, z, X) scanf("%d%d%d%d", &x, &y, &z, &X) #define pi acos(-1) #define me(x, y) memset(x, y, sizeof(x)); #define For(i, a, b) for (int i = a; i <= b; i++) #define FFor(i, a, b) for (int i = a; i >= b; i--) #define bug printf("***********\n"); #define mp make_pair #define pb push_back const int maxn = 3e5 + 10; const int maxx = 1e6 + 10; // name******************************* int dp[105][105]; int n; int ans = inf; // function******************************//*************************************** int main() {// ios::sync_with_stdio(0); cin.tie(0);// freopen("test.txt", "r", stdin);// freopen("outout.txt","w",stdout);cin >> n;int x;For(i, 1, n) {cin >> x;For(j, 1, x) {dp[i][j] = inf - 1000;int a, b;cin >> a;while (a) {cin >> b;dp[i][j] = min(dp[i][j], dp[i - 1][a] + b);cin >> a;}}}For(i, 1, x) { ans = min(ans, dp[n][i]); }cout << ans;return 0; }
转载于:https://www.cnblogs.com/planche/p/8594328.html
P1796 汤姆斯的天堂梦相关推荐
- 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...
- 洛谷P1796 汤姆斯的天堂梦
传送门 题目描述 汤姆斯生活在一个等级为 00 的星球上.那里的环境极其恶劣,每天 1212 小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为 NN 的星球上天堂般的生活. 有一些航班将人从低等级的 ...
- P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- P1796 汤姆斯的天堂梦(动态规划)
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- 洛谷P1796 汤姆斯的天堂梦【DP-数字三角形模型】【橙】
Date:2022.01.11 题意:从第0层到第N层最短路径,注意边权有负数. 思路:关于SPFA它已经死了. f[i][j]f[i][j]f[i][j]:从第000行第111个点 ~ 第iii行第 ...
- DP专题--P1796 汤姆斯的天堂梦
这道题输入的时候要注意判断a是不是0 f [ i ] [ j ] 表示第i等级的第j号星球 存的是最小路费 这个状态如何得到呢 只要遍历上一个等级 也就是 i - 1 级的所有星球 将到达i ...
- 汤姆斯的天堂梦(par)
汤姆斯的天堂梦(par) [问题描述] 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级 ...
- 汤姆斯的天堂梦_NOI导刊2010提高(05)【洛谷P1796】
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- 【t100】汤姆斯的天堂梦
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向 ...
最新文章
- 孙琦:大数据思维助力我探究能源颗粒机理 | 提升之路系列(四)
- 分享产品发布的10条经验
- 将Excel文件转换为Html
- c#资源管理器【转】
- C++中 *(指针引用)与*(指针)的区别
- kafka 服务端消费者和生产者的配置
- 工作137:map函数
- C语言/C++基础知识代码整理
- spring思想分析
- mysqlplus 批量插入_解决SpringBoot+Druid+Mybatis Plus 执行MySQL批量插入,更新 报错的问题...
- wifi 小米pro 驱动 黑苹果_【黑果小兵】小米Pro macOS High Sierra 10.13黑苹果安装教程...
- chrome插件开发基础以及如何防止劫持
- hpm1005能扫描不能打印_「惠普m1005怎么扫描」HP惠普M1005打印机不能扫描文件该怎么办? - seo实验室...
- Yate for Mac(音乐标签管理工具)
- 渗透安全学习记录笔记
- android进程通信6,[Android]你不知道的Android进程化(6)--进程通信Andromeda框架
- ascii art c语言,ASCII art (简体中文)
- 汇编———标志(flag)寄存器
- 论计算机的维修策略论文,论计算机的维护维修策略(论文).doc
- Instruments相关
热门文章
- 用matlab画图像,用MATLAB画出图像的幅度和方向角的图像并画出它们的直方图
- Linux文件及日志内容
- D3.js的v5版本入门教程(第一章)—— 如何在项目中使用D3.js
- 二进制部署Prometheus及监控服务
- (C语言)学生管理系统
- 云服务器liunx系统怎么安装,云服务器怎么安装linux系统
- unity3d 摄像机跟随角色时 画面抽搐问题
- 解决ERROR 1109 (42S02): Unknown table 'xxx' in MULTI DELETE
- android 严振杰权限管理,MyAndroidFrameWork
- MVC3中_ViewStart.cshtml的一些事