返回介绍

lcp / LCP 16. 游乐园的游览计划 / README

发布于 2024-06-17 01:04:41 字数 2409 浏览 0 评论 0 收藏 0

LCP 16. 游乐园的游览计划

题目描述

又到了一年一度的春游时间,小吴计划去游乐场游玩 1 天,游乐场总共有 N 个游乐项目,编号从 0N-1。小吴给每个游乐项目定义了一个非负整数值 value[i] 表示自己的喜爱值。两个游乐项目之间会有双向路径相连,整个游乐场总共有 M 条双向路径,保存在二维数组 edges中。 小吴计划选择一个游乐项目 A 作为这一天游玩的重点项目。上午小吴准备游玩重点项目 A 以及与项目 A 相邻的两个项目 BC (项目ABC要求是不同的项目,且项目B与项目C要求相邻),并返回 A ,即存在一条 A-B-C-A 的路径。 下午,小吴决定再游玩重点项目 A以及与A相邻的两个项目 B'C',(项目AB'C'要求是不同的项目,且项目B'与项目C'要求相邻),并返回 A ,即存在一条 A-B'-C'-A 的路径。下午游玩项目 B'C' 可与上午游玩项目BC存在重复项目。 小吴希望提前安排好游玩路径,使得喜爱值之和最大。请你返回满足游玩路径选取条件的最大喜爱值之和,如果没有这样的路径,返回 0。 注意:一天中重复游玩同一个项目并不能重复增加喜爱值了。例如:上下午游玩路径分别是 A-B-C-AA-C-D-A 那么只能获得 value[A] + value[B] + value[C] + value[D] 的总和。

示例 1:

输入:edges = [[0,1],[1,2],[0,2]], value = [1,2,3]

输出:6

解释:喜爱值之和最高的方案之一是 0->1->2->0 与 0->2->1->0 。重复游玩同一点不重复计入喜爱值,返回1+2+3=6

示例 2:

输入:edges = [[0,2],[2,1]], value = [1,2,5]

输出:0

解释:无满足要求的游玩路径,返回 0

示例 3:

输入:edges = [[0,1],[0,2],[0,3],[0,4],[0,5],[1,3],[2,4],[2,5],[3,4],[3,5],[4,5]], value = [7,8,6,8,9,7]

输出:39

解释:喜爱值之和最高的方案之一是 3->0->1->3 与 3->4->5->3 。喜爱值最高为 7+8+8+9+7=39

限制:

  • 3 <= value.length <= 10000
  • 1 <= edges.length <= 10000
  • 0 <= edges[i][0],edges[i][1] < value.length
  • 0 <= value[i] <= 10000
  • edges中没有重复的边
  • edges[i][0] != edges[i][1]

解法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文