P1796 汤姆斯的天堂梦
题目描述
汤姆斯生活在一个等级为0的星球上。那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍。他向往着等级为N的星球上天堂般的生活。
有一些航班将人从低等级的星球送上高一级的星球,有时需要向驾驶员支付一定金额的费用,有时却又可以得到一定的金钱。
汤姆斯预先知道了从0等级星球去N等级星球所有的航线和需要支付(或者可以得到)的金钱,他想寻找一条价格最低(甚至获得金钱最多)的航线。
输入输出格式
输入格式:
第一行一个正整数N(N≤100),接下来的数据可分为N个段落每段的第一行一个整数Ki(Ki≤100),表示等级为i的星球有Ki个。
接下来的Ki行中第Tij个依次表示与等级为i,编号为j的星球相连的等级为i-1的星球的编号和此航线需要的费用(正数表示支出,负数表示收益,费用的绝对值不超过1000)。
每行以0结束,每行的航线数≤100。
输出格式:
输出所需(或所得)费用。正数表示支出,负数表示收益。
输入输出样例
说明
对于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 + ;
- const int maxx = 1e6 + ;
- // name*******************************
- int dp[][];
- 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, , n) {
- cin >> x;
- For(j, , x) {
- dp[i][j] = inf - ;
- int a, b;
- cin >> a;
- while (a) {
- cin >> b;
- dp[i][j] = min(dp[i][j], dp[i - ][a] + b);
- cin >> a;
- }
- }
- }
- For(i, , x) { ans = min(ans, dp[n][i]); }
- cout << ans;
- return ;
- }
P1796 汤姆斯的天堂梦的更多相关文章
- 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...
- P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目
博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...
- 你必须知道ASP.NET知识------关于动态注册httpmodule(对不起汤姆大叔)
一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什 ...
- 我读汤姆大叔的深入理解js(二)
继续汤姆大叔的js之旅. 揭秘命名函数表达式 函数表达式和函数声明 汤姆大叔在博客中引用ECMA规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带 ...
- 我读汤姆大叔的深入理解js(一)
前言 闲来看看javascript,在圆子里发现了汤姆大叔的文章,先是整体瞄了几眼,感觉不错,然后细细研读.记录下自己的学习历程和个人理解.更重要的是作为笔记 高质量JS代码 在看汤姆大叔的这一系列文 ...
- 汤姆大叔的6道javascript编程题题解
看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...
- 看了汤姆大叔的“你真懂JavaScript吗?”的一些感慨
看了汤姆大叔的“你真懂JavaScript吗?”,里面有5道题目,我都一一作了,然后在chrome的控制台里面运行了一遍,虽然只错了一道,但还是细细读了下答案,在此总结一下,看看是否对大家对这些Jav ...
- 1199: [HNOI2005]汤姆的游戏 - BZOJ
Description 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花 ...
随机推荐
- PHP IN_ARRAY 函数 使用需要注意的地方
今天 看PPChttp://bbs.phpchina.com/thread-171993-1-7.html 这个问题. 其实关键还是因为 php是弱类型语言,php进行比较的时候 最好还是使用stri ...
- javascript代码
LazyMan 实现LazyMan(什么是LazyMan?请自行google) function _LazyMan(_name) { var _this = this; _this.tasks = [ ...
- springboot 文件上传和下载
文件的上传和下载 1.文件上传 html页面代码如下 <form method="post" action="/file/upload1" enctype ...
- 转:php中判断某个IP地址是否存在范围内
原文:php中判断某个IP地址是否存在范围内 //案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面 $ip_start = get_ipl ...
- 图形报表部署在Linux下出现乱码解决办法
客户问题: 客户的操作系统SUSE LINUX Enterprise Server 10 (i586) 64位,服务器 weblogic8.1, JDK版本:jdk1.4.系统中只有图形报表展示 ...
- pageHelper插件
mybatis的分页插件使用总结 环境准备工作: 1.在使用pagehelper插件时,我已经搭建好了ssm(spring+springmvc+mybatis) 在这简单描述一下ssm搭建过程 ...
- ES6入门——类的概念
1.Class的基本用法 概述 JavaScript语言的传统方式是通过构造函数,定义并生成新对象.这种写法和传统的面向对象语言差异很大,下面是一个例子: function Point(x, y) { ...
- git下配置github sshkey
教程看这里 http://xiaxveliang.blog.163.com/blog/static/29708034201341244759225/
- 解决升级PHP7.1后,发邮件时提示“fsockopen(): Peer certificate CN=`xxx.xx.com' did not match expected CN=`113.x.xx.98”
把项目环境升级到PHP7.1后,发现在不使用SSL时可以使用IP发邮件,可设置成SSL时就只能使用hostname发送,PHP提示的错误信息大致意思是说,IP与hostname无法通过SSL验证,修改 ...
- Android UI组件----自定义ListView实现动态刷新
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...