codevs 1163:访问艺术馆
题目描述 Description
皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画。艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室。皮尔知道每个展室里藏画的数量,并且他精确地测量了通过每条走廊的时间,由于经验老道,他拿下一副画需要5秒的时间。你的任务是设计一个程序,计算在警察赶来之前(警察到达时皮尔回到了入口也算),他最多能偷到多少幅画。 输入描述 Input Description
第1行是警察赶到得时间,以s为单位。第2行描述了艺术馆得结构,是一串非负整数,成对地出现:每一对得第一个数是走过一条走廊得时间,第2个数是它末端得藏画数量;如果第2个数是0,那么说明这条走廊分叉为两条另外得走廊。数据按照深度优先得次序给出,请看样例 输出描述 Output Description
输出偷到得画得数量 样例输入 Sample Input 样例输出 Sample Output 数据范围及提示 Data Size & Hint
s<= 走廊的数目<= (样例见图)
题目
芒果君:其实这道题的继承关系很明显,但不太好表示状态。我们把时间抽象为背包的体积,用f[i][j]表示,以i为根,在j时间内的最优解。这时将各个父节点和叶节点分开处理。叶结点类似完全背包,父节点需要做二维决策,第一维是能使用的时间段(通过花费的时间到总时间),第二维将两个子结点做时间分配,枚举找到最大值的方案,最后输出f[1][T]。(如果你在洛谷交,应该一开始T-=1)
#include<cstdio>
#include<algorithm>
using namespace std;
int sum,f[][],T;
void dfs(int x)
{
int t,v,w;
sum++;
scanf("%d%d",&v,&w);
if(!w){
dfs(x+);
t=sum;
dfs(sum+);
for(int i=v*;i<=T;++i)
for(int j=;j<=i-v*;++j)
f[x][i]=max(f[x][i],f[x+][j]+f[t+][i-v*-j]);
}
else for(int i=v*;i<=T;++i) f[x][i]=min(w,(i-v*)/);
}
int main()
{
scanf("%d",&T);
dfs();
printf("%d",f[][T]);
return ;
}
codevs 1163:访问艺术馆的更多相关文章
- codevs 1163 访问艺术馆
1163 访问艺术馆 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画.艺术馆的结 ...
- Codevs No.1163 访问艺术馆
2016-05-31 20:48:47 题目链接: 访问艺术馆 (Codevs No.1163) 题目大意: 一个贼要在一个二叉树结构的艺术馆中偷画,画都处于叶子节点处,偷画和经过走廊都需要时间,求在 ...
- codevs 访问艺术馆
/* codevs 1163 访问艺术馆 红果果的树形dp*/ #include<iostream> #include<cstdio> #include<cstring& ...
- codevs1163访问艺术馆(树形dp)
1163 访问艺术馆 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 皮尔是一个出了名的盗画者,他经过数月的精心准备, ...
- 【CodeVS 1163】访问艺术馆
http://codevs.cn/submission/2367697/ loli蜜汁(面向高一)树形dp是这道题的改编. 改编后的题目中每个展览厅的有多个不同的画,偷画的时间和画的价值也不同,求最大 ...
- 【codevs1163】访问艺术馆
题目描述 皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画.艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室.皮尔知道每个展室里藏画的数量,并且他精确地测量了通过每条走廊的 ...
- 【codevs1163】访问艺术馆 树形dp
题目描述 皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画.艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室.皮尔知道每个展室里藏画的数量,并且他精确地测量了通过每条走廊的 ...
- codevs1163访问艺术馆 树形dp
算裸的树形dp吧 回来复习一波 #include<cstdio> #include<cstring> #include<algorithm> #include< ...
- 2016. 4.10 NOI codevs 动态规划练习
1.codevs1040 统计单词个数 1040 统计单词个数 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 De ...
随机推荐
- [Functional Programming] liftA2 and converge
Sometimes I am confused with 'liftA2' and 'converge' functions. Main difference between those is tha ...
- [Javascript] Convert a forEach method to generator
For example we have a 'forEach' method which can loop though a linked list: forEach(fn) { let node = ...
- Linux文件删除的原理
Linux文件iNode和block是否删除是通过 i_link 和 i_count 的计数值来判断的.只有i_count 和 I_link 同时为0 的 时候,文件的 iNode和block才 ...
- About IndexDB
http://blog.csdn.net/bd_zengxinxin/article/details/7758317 HTML5 - Storage 客户端存储 http://html5demos.t ...
- tomcat大文件上传
当服务器是Tomcat时,通过POST上传的文件大小的最大值为2M(2097152). 如果想修改该限制,修改方法如下: tomcat目录下的conf文件夹下,server.xml 文件中以下的位置中 ...
- Gym - 102307C Common Subsequence 搞不懂的dp
Gym - 102307C Common Subsequence 题意:给你两个相同长度的DNA序列,判断这两个的最长公共子序列长度是不是0.99*n,n为序列的长度(n<=1e5). 嗯,正常 ...
- 自己实现dup2
转自 http://blog.csdn.net/todd911/article/details/11747097 #include <stdio.h> #include <unist ...
- MySQL新特性文档型数据库
mongodb在文档型数据库这方面一直做的很好,也发展了很多年,MySQL作为一个比较大众的数据库也慢慢支持了该特性,下面介绍一下MySQL支持文档型数据库的简单操作. 环境: 主机名 IP 系统 软 ...
- vue 路由跳转记住当前页面位置
从列表页面跳去详情页面, 在列表页面的生命周期:deactivated 中把当前的scrollTop位置存下来,可以存在localstorage中,也可以存在vuex中, 从详情页面返回列表页面:a ...
- MAC升级Nodejs和Npm到最新版及CNPM使用
1.MAC升级Nodejs和Npm到最新版 第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安 ...