需要算法帮助来查找 DAG 中的最大路径

2024-01-28

假设我有这个有向无环图 (DAG) http://en.wikipedia.org/wiki/Directed_acyclic_graph,其中从每个节点(底行中的节点除外)到其下面的两个节点都有一条有向边:

        7
      3   8
    8   1   0
  2   7   4   4
4   5   2   6   5

我需要找到一条通过该 DAG 的路径,其中节点权重的总和最大化。您只能从此树中的节点向左下或右下对角移动。例如,7、3、8、7、5 将给出该树中的最大路径。

输入文件包含以此方式格式化的 DAG

7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

我的问题是,什么算法最适合找到最大路径,以及如何在 C++ 中表示这棵树?

节点权重是非负的。


我用向量的向量来表示这个三角形ints.

从底行开始,比较每对相邻的数字。取较大的一个并将其添加到该对上方的数字中:

 5 3             13  3
  \
7 8 6  becomes  7  8  6
^ ^

                  13 3               13 11
                     /
Next iteration   7  8  6   becomes  7  8  6  etc.
                    ^  ^

一直走到顶部,完成后,三角形的尖端将包含最大的和。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要算法帮助来查找 DAG 中的最大路径 的相关文章

  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • 查找数组中的组合

    我在java中有一个像这样的二维数组 transmission communication tv television approach memorycode methodact 我需要获得所有组合 例如 transmission appr
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 在 OpenGL 中渲染纹理 1 到 1

    所以我想做的是使用 OpenGL 和 C 将纹理渲染到平面上 作为显示图像的一种方式 但是我需要确保在渲染纹理时没有对纹理进行任何处理 抗锯齿 插值 平滑 模糊等 这是 OpenGL 处理渲染纹理的默认方式吗 或者是否需要设置一些标志才能禁
  • 查找重叠间隔序列中最大和的算法

    我试图解决的问题在数轴上有一个间隔列表 每个间隔都有一个预定义的分数 我需要返回最大可能的总分 问题是间隔重叠 并且重叠间隔中我只能使用一个 这是一个例子 Intervals Score 0 5 15 4 9 18 10 15 12 8 2
  • 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

    我想在应用程序启动时加载欢迎屏幕 然后用户单击欢迎屏幕上的按钮 然后关闭欢迎屏幕 最后显示主屏幕 static void Main startup method being called Application EnableVisualSt
  • LINQ 中的“from..where”或“FirstOrDefault”

    传统上 当我尝试从数据库中获取用户的数据时 我使用了以下方法 在某种程度上 DbUsers curUser context DbUsers FirstOrDefault x gt x u LoginName id string name c
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall
  • 如何将 SQL“LIKE”与 LINQ to Entities 结合使用?

    我有一个文本框 允许用户指定搜索字符串 包括通配符 例如 Joh Johnson mit ack on 在使用 LINQ to Entities 之前 我有一个存储过程 该存储过程将该字符串作为参数并执行以下操作 SELECT FROM T
  • 缓存感知树的实现

    I have a tree where every node may have 0 to N children 用例是以下查询 给定指向两个节点的指针 这些节点是否位于树的同一分支内 Examples q 2 7 gt true q 5 4

随机推荐

  • 了解 iOS 崩溃 [SIGABRT ABORT]

    我刚刚收到来自 Crashlytics 的第一份崩溃报告 并正在尝试纠正该问题 不幸的是 它只包含一行在旧设备上运行的代码 因此我无法在 iPhone 6 上测试它 Crashlytics 的崩溃报告突出显示了两个线程 第一个内容如下 Fa
  • Singleton httpclient 与创建新的 httpclient 请求

    我正在尝试使用 HttpClient 在我的网络服务中创建层Xamarin Forms移动应用 没有单例模式 具有单例模式 in first方法我在每个新请求中创建新的http客户端对象 通过移动应用程序 这是我的代码 public Htt
  • macOS 11 Big Sur 中具有自定义视图的 NSMenuItem

    macOS 11 Big Sur 当前版本 beta 1 到 beta 6 有一个错误 功能 使得 NSMenuItem 难以使用自定义视图 具体来说 当菜单项突出显示时 项目的自定义视图不会调用draw dirtyRect 我通过 NSM
  • 读取并绑定多个 csv 文件

    我有一系列 csv 文件 每个文件一个 具有相同的列标题和不同的行数 最初我是这样读入并合并它们的 setwd lt N Ring data by cruise Shetland LengthHeight2013 lt read csv N
  • jsp中的“页面范围”是什么?

    有以下范围JSP 页面范围 请求范围 会话范围 适用范围 我对页面范围感到困惑 谁能告诉我这是什么页面范围 我在任何地方都没有找到它的明确定义 page范围意味着 它可以被认为是代表整个JSP页面的对象 即JSP 对象只能从创建它的同一页面
  • 在 Eclipse 中添加库 v7 AppCompat 时如何解决错误“未找到与给定名称匹配的资源”?

    我的项目目标是 API 级别 10 我想实现新的 ActionBar 支持库 按照中的所有说明进行操作后支持库设置 http developer android com tools support library setup html 当将
  • file.choose() 在 Windows 上打开没有文件名的对话框

    当我使用file choose or choose files选择文件时 对话窗口会显示文件夹图标 但不显示文本 以前没有出现过这个问题 我不久前更新了 RStudio 但我不确定这是否是原因 我目前使用 R 4 1 1 和 RStudio
  • CertPathValidatorException:找不到证书路径的信任锚 - Retrofit Android

    我正在创建一个 Android 应用程序 它使用https用于与服务器通信 我在用retrofit and OkHttp用于提出请求 这些对于标准来说效果很好http要求 以下是我遵循的步骤 Step 1 使用命令从服务器获取证书文件 ec
  • 计算彩色图像的 HSV 直方图与 H-S 直方图有何不同?

    我想计算图像的 HSV 直方图 我搜索了很多 但没有发现任何有用的东西 在opencv在线指南中我找到了H S直方图 V 对光照有什么影响 HSV 和 H S 是否相同 意味着 V 对光照没有影响 这是H S直方图的代码 cvtColor
  • 将简单的 Antlr 语法转换为 Xtext

    我想将一个非常简单的Antlr语法转换为Xtext 所以没有句法谓词 https stackoverflow com questions 5728659 translate antlr grammar into xtext grammar
  • mathematica 如何确定在替换中首先使用哪个规则

    我想知道如果给定多个替换规则 mma 如何确定在发生碰撞时首先应用哪个规则 一个例子是 x 3 x 2 s x 3 s 2 s x x gt 0 x OddQ gt 2 Thanks Mathematica 有一种机制能够在简单情况下确定规
  • 从问题到 Wiki 的 GitHub 链接

    我想要链接维基页面来发布文本 语法链接到问题池中 text page 不起作用 怎么做 您还可以使用相对路径 这是我的一个项目的示例 Using a Shell Configuration File wikis Using a Shell
  • mySQL 分区多文件与单文件性能对比?

    对大型表进行分区时 我可以选择将标志 innodb file per table 设置为 TRUE 或 FALSE True 将创建许多文件 每个分区一个 并大大增加我的磁盘使用量 但允许我将分区分布在不同的卷上 我不打算这样做 FALSE
  • 区分手指触摸和手/掌托

    Is there any technique to differentiate between finger touch and palm rest on surface while drawing on touch surface in
  • F#:可以在运行时动态绑定度量单位吗?

    我对 F 非常陌生 对测量单位功能很感兴趣 并且大致了解它的正常工作原理 但想知道是否可以将测量值绑定到我们不知道测量值的值直到代码执行 我正在查看的实际示例是将浮点数绑定为货币值 其中度量单位是从数据库查找中推断出来的 假设每种货币 美元
  • 这个视图控制器是否在“willSet/didSet”对中泄漏?

    你有一个 vc 绿色 它有一个面板 黄色 支架 假设您有十个不同的视图控制器 价格 销售 库存 卡车 司机 调色板 您将一次将它们放入黄色区域 它将动态加载故事板中的每个 VC instantiateViewController withI
  • 开放 NLP 名称查找器培训

    我正在根据在线手册 http opennlp apache org documentation 1 5 2 incubating manual opennlp html 构建一个名为 en ner person train 的 15k 行训
  • MongoDB 中的“LIKE”命令(mongomapper)

    如何像 MongoDB 中的 sql 那样使用过滤数据 而不是在 Rails 应用程序上使用 gem mongomapper 谢谢 如果您要查找字符串的部分匹配项 可以使用正则表达式进行查询 这是 mongomapper 文档的相关部分 h
  • SharePoint 2010 - 从 Kerberos 更改为基于声明的身份验证

    我想在 SharePoint 2010 Enterprise Edition 环境中将身份验证提供程序从 Kerberos 更改为基于声明 我的 SharePoint 环境中可能会出现哪些问题 我听说如果 RSS 阅读器 Web 部件使用我
  • 需要算法帮助来查找 DAG 中的最大路径

    假设我有这个有向无环图 DAG http en wikipedia org wiki Directed acyclic graph 其中从每个节点 底行中的节点除外 到其下面的两个节点都有一条有向边 7 3 8 8 1 0 2 7 4 4