zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
using namespace std;
int m, n, vis[];
long long dp[], v[];
vector<int>Q[];
long long dfs(int start)
{
int len;
len = Q[start].size();
if(len==)
{
return v[start];
}
long long sum = ;
int i;
for(i=; i<len; i++)
{
int u = Q[start][i];
if(vis[u]==)
{
vis[u] = ;
sum+=dfs(u);
}
}
return max(v[start], sum);
}
int main()
{
int T, a, b;
scanf("%d", &T);
while(T--)
{
scanf("%d %d", &m, &n);
for(int i=; i<=m; i++)
{
scanf("%lld", &v[i]);
Q[i].clear();
}
for(int i=; i<m; i++)
{
scanf("%d %d", &a, &b);
Q[a].push_back(b);
Q[b].push_back(a);
}
memset(vis, , sizeof(vis));
vis[n] = ;
memset(dp, , sizeof(dp));
long long ans = dfs(n);
printf("%lld\n", ans);
}
return ;
}
/**
50
7 1
40 40 40 20 30 20 30
1 2
1 3
2 4
2 5
3 6
3 7
**/
进入一个房间后有两种选择,1:拿走此房间宝藏,后面的不要了;2:此房间宝藏放弃,拿走与此房间相连的所有其他房间的宝藏;
这样两种选择取最大值即可,用递归的回溯判断更方便。此题数据有坑,题面也没给数据范围,然而int却过不掉。
zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)的更多相关文章
- ZZULIoj 1907 小火山的宝藏收益
Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通. 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这 ...
- 不要62 hdu 2089 dfs记忆化搜索
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 给你两个数作为一个闭区间的端点,求出该区间中不包含数字4和62的数的个数 思路: 数位dp中 ...
- dfs+记忆化搜索,求任意两点之间的最长路径
C.Coolest Ski Route 题意:n个点,m条边组成的有向图,求任意两点之间的最长路径 dfs记忆化搜索 #include<iostream> #include<stri ...
- zzuli 1907: 小火山的宝藏收益 邻接表+DFS
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 113 Solved: 24 SubmitStatusWeb Board Description ...
- (zzuli)1907 小火山的宝藏收益
Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通. 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这个房间的宝藏, ...
- POJ 1191 棋盘分割 【DFS记忆化搜索经典】
题目传送门:http://poj.org/problem?id=1191 棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submission ...
- 蓝桥杯 2014本科C++ B组 地宫取宝 DFS+记忆化搜索
历届试题 地宫取宝 时间限制:1.0s 内存限制:256.0MB 问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角 ...
- hdu 1078 FatMouse and Cheese (dfs+记忆化搜索)
pid=1078">FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/ ...
- hdu 1078(dfs记忆化搜索)
题意:容易理解... 思路:我开始是用dfs剪枝做的,968ms险过的,后来在网上学习了记忆化搜索=深搜形式+dp思想,时间复杂度大大降低,我个人理解,就是从某一个点出发,前面的点是由后面的点求出的, ...
随机推荐
- mysql 主从 重新同步
mysql 主从同步一担出了问题之后,就会导致从库上的数据和主库不一样了.所以需要生新同步数据. 1.登录主库服务器,进入mysql,命令为:mysql -uroot -ppassword 2.执行: ...
- iPhone SlideShow
If you found any question when you use the Slideshow, don't hesitate to leave a message please.
- HTML5能取代IOS原生应用吗
介绍 移动应用程序(App)和HTML5都是目前最火的技术,二者之间也有不少重叠之处.在移动设备浏览器里运行的html5的web页面,也可以重新打包成不同平台上运行的app.目前很多浏览器都有很好的跨 ...
- Django常用命令及参数配置(Django 1.8.6)
常用命令 #新建Django项目 django-admin startproject mysite(项目名) #新建一个APP cd mysite python manager.py startapp ...
- 使用nodejs防止csurf攻击的方法
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- 千里积于跬步——流,向量场,和微分方程[转载]
在很多不同的科学领域里面,对于运动或者变化的描述和建模,都具有非常根本性的地位--我个人认为,在计算机视觉里面,这也是非常重要的. 什么是"流"? 在我接触过的各种数学体系中,对于 ...
- HttpRequest.UserAgent 属性 (System.Web)
获取客户端浏览器的原始用户代理信息.
- 【javascript基础】8、闭包
前言 函数和作用域啥的我们前面已经了解了,现在就要学习闭包了,这是一个挺晦涩的知识点,初学者可能会感觉不好理解,但是高手都不不以为然了,高手就给我提点意见吧,我和新手一起来学习什么是闭包. 例子 先不 ...
- mybatis配置优化
1.加入日志log4j 1)加入jar包:log4j-1.2.17.jar 2)加入log4j配置文件: 可以使properties或者xml形式 log4j.rootLogger = DEBUG,C ...
- Quartus II中FPGA的管脚分配保存方法
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...