小火山 zzuli 1907 (宝藏)

2024-08-21 19:18
文章标签 火山 宝藏 1907 zzuli

本文主要是介绍小火山 zzuli 1907 (宝藏),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小火山的宝藏收益

  

Description

进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通。
每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关。如果小火山取走了这个房间的宝藏,那么这个房间通往其他房间的门就永远打不开了,也就是说后面的宝藏小火山是得不到了(进入这个房间的门是不会关闭的,小火山还是可以回去的);如果小火山不取这个宝藏,而是去打开通往另一房间的门,那么这个房间的宝藏就会消失, 小火山就得不到这个房间的宝藏。
不过,小火山已经有了藏宝图,知道每一个房间的宝藏的价值,现在想请你帮小火山算一下,他最多能获得多少钱去买股票?

Input

输入第一行是一个整数T(T <= 50), 表示一共有T组数据。
对于每一组数据,第一行是两个数N, S(1 <= N <= 10000, 1 <= S <= N), N代表有N个房间, S代表小火山进去宝藏后的
起始房间(小火山怎么进入起始房间不重要),第二行是N个数,代表每个房间宝藏的价值, 随后N-1行, 每行两个数A, B, 代表
A, B这两个房间联通。

Output

对于每一组数据输出一个整数, 代表小火山能获得的最大钱数。

Sample Input

2
1 1
20
3 1
4 5 6
1 2
2 3

Sample Output

20
6

题解:dfs+邻接表,其实相当于一棵树,到每个节点有两种选择,停在该节点或继续往下走,比较该节点的价值与其余子节点的价值即可。(邻接表不太熟悉,想到了dfs,没想到怎么邻接表加边)类似于太子那道题,还没补

#include<cstdio>
#include<cstring>
using namespace std;int n,s;
int w[10005];struct node{int u,v,next;
}edge[10005*2],e;
int edgenum;
int head[10005*2],vis[10005];void init(){edgenum=0;memset(head,-1,sizeof(head));memset(vis,0,sizeof(vis));
}
void add(int a,int b){e={a,b,head[a]};edge[edgenum]=e;head[a]=edgenum++;
}int dfs(int f){int i;vis[f]=1;int sum=0;int maxi=w[f];int num=0;for (i=head[f];i!=-1;i=edge[i].next){int vi=edge[i].v;if (!vis[vi]){sum+=dfs(vi);num++;vis[vi]=1;}}	return sum>maxi?sum:maxi;
}
int main(){int t,i;int a,b;scanf ("%d",&t);while (t--){scanf ("%d %d",&n,&s);init();for (i=1;i<=n;i++){scanf ("%d",&w[i]);}for (i=0;i<n-1;i++){scanf ("%d %d",&a,&b);add(a,b);add(b,a);}int ans=dfs(s);printf ("%d\n",ans);}return 0;
} 


这篇关于小火山 zzuli 1907 (宝藏)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094046

相关文章

moonlight串流配置太复杂?推荐一款无需配置的宝藏串流软件GameViewer远程

moonlight支持将PC游戏实时串流到安卓、iOS、Apple TV、Chromebook、PS Vita甚至Raspberry Pi等设备上,让用户无需携带笨重的游戏设备,即可随时随地进行游戏。 但是moonlight的门槛较高,很多串流新手不懂得如何配置,同时如果没有IPV6内网穿透则无法使用,这也是很多玩家想尝试moonlight但是被复杂的设置劝退了的原因。如果你因为配置门

调用火山云的语音生成TTS和语音识别STT

首先需要去火山云的控制台开通TTS和STT服务语音技术 (volcengine.com) 火山这里都提供了免费的额度可以使用 我这里是使用了java来调用API 目前我还了解到阿里的开源项目SenseVoice(STT)和CosyVoice(TTS)非常的不错,但是都是使用Python开发的。可以做到说话情绪的识别,感兴趣可以去github上了解一下。 TTS(首先需要导入它给的类) p

宝藏!《联盟自控强化班洗髓题库》(青龙篇) 1-9章:甄选部分

本文内容,全部选自自动化考研联盟的:初试《自控强化班洗髓题库》(青龙篇)。 目录 Part1:资料封面&目录 Part2:资料各个章节具体内容 第1章 自动控制的一般概念 第2章 控制系统的数学模型 第3章 线性系统的时域分析 第4章 线性系统的根轨迹法 第5章 线性系统的频域分析法 第6章 线性系统的校正方法 第7章 线性离散系统的分析与校正 第8章 非线性控制系统分析

员工微信聊天敏感词报警系统是什么?好用的企业敏感词告警系统推荐(宝藏收藏篇)

"风起于青萍之末,浪成于微澜之间。"  在信息如潮的今日,一句不经意的言辞,或许就隐藏着企业安全的隐患。 员工微信聊天敏感词报警系统,正是这风起云涌中的一道坚实防线,它如同敏锐的哨兵,时刻监控着信息的流向,确保企业的每一份机密都能得到妥善保护。 本文将深入解析这一系统,并为您推荐一款宝藏级的企业敏感词告警系统——安企神。 员工微信聊天敏感词报警系统是什么? 员工微信聊天敏感词报警系统,

常见的电脑加密方式|文件加密解密工具分享(宝藏篇)

无论是个人隐私的保护,还是企业核心数据的安全,都离不开有效的加密技术。 电脑加密,作为信息安全防护的第一道防线,其重要性不言而喻。 本文将深入探讨几种常见的电脑加密方式,并分享几款高效的文件加密解密工具,帮助您更好地守护数据安全。 一、常见的电脑加密方式 1. 磁盘加密 磁盘加密,又称全盘加密,是一种对整个硬盘或分区进行加密的技术。它通过在操作系统启动前就对磁盘进行解锁,确保即使物理

什么牌子的开放式耳机性价比高?五大宝藏款式推荐!

耳机技术不断演进,开放式耳机因其开放耳道设计,受到市场青睐。这种设计不仅提升了佩戴舒适度,还增加了户外运动的安全性,允许用户在享受音乐时保持对周围环境的感知。 面对众多品牌,选择时要考虑音质、舒适度及附加功能。此外,考虑防水、续航和智能模式等特性也很重要。用户应依据个人需求和偏好,挑选适合自己的开放式耳机,以确保健康和安全的听觉体验。小编近期特意整理了开放式耳机六条选购技巧,并为你找到了五款热门

科研绘图系列:R语言富集火山图和通路图(volcano plot pathway)

介绍 火山图是一种用于可视化基因表达差异的分析工具,它通过二维坐标系展示基因的表达量变化和统计显著性。该图谱的x轴表示基因表达的对数变化,而y轴表示其统计显著性。利用火山图,研究者能够快速识别出在不同条件下显著差异表达的基因。 随后,通过KEGG数据库提供的通路图,研究者可以进一步分析这些差异表达基因在生物学通路中的富集情况。KEGG数据库是一个包含丰富基因和蛋白质信息的资源,涵盖了代谢、

LLM 应用开发入门 - 实现 langchain.js ChatModel 接入火山引擎大模型和实现一个 CLI 聊天机器人(下)

书接上回,我们已经实现了一个 langchain.js 接入火山引擎的 ChatModel。 本文我们实现将这个大模型接入到聊天 CLI 实现和大模型进行交互式问答 需求 我们希望这个简易的聊天 CLI 能够拥有以下功能 启动时由用户输入 prompt支持回答流式输出支持连续聊天和清空上下文 聊天 CLI 基础能力实现 由于实现基本的 CLI 输入输出不是本文重点。这里我们直接通过以

火山引擎数智平台:A/B测试个性化配置能力发布,拓展多场景策略最优解

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 对于这些场景,你一定不会感到陌生:打开手机时,一款购物应用推荐的正好是你心仪已久的商品;浏览网页时,新闻资讯自动排列,展示的都是你最感兴趣的话题;沉浸于在线娱乐时,所呈现的内容仿佛是为你量身定制…… 这一切与“用户个性化配置发布”能力息息相关。“用户个性化配置发布”指根据行为、性别,兴趣、地理位

百元蓝牙耳机什么牌子的好?四大宝藏机型真实推荐,快速收藏!

作为一位蓝牙耳机爱好者,无论是上班、娱乐、学习我都离不开蓝牙耳机。通勤时候能听听音乐,是最好的享受,可以让我更加放松,尽情享受音乐带来的乐趣。但市面上的大多数蓝牙耳机都是货不对板的,不是音质一般、就是续航时间短,那么想要一款百元蓝牙耳机什么牌子的好?这里给大家带来四大宝藏机型真实推荐,快速收藏! 百元蓝牙耳机什么牌子的好?四大宝藏机型真实推荐,快速收藏! 1、西圣AVA2蓝牙耳机 售