欧拉项目 #18 方法

2024-06-03

我正在研究一个欧拉项目。具体来说#18。
总而言之,这个想法是从三角形中找到最大路径:

   3
  7 4
 2 4 6  
8 5 9 3

3 + 7 + 4 + 9 = 23。

读到这里,大多数人表示,通过从下到上工作可以正确解决这个问题,而不是使用从上到下“贪婪”工作的算法。

我可以理解,从顶部开始向下选择您找到的最大值是“短视”的,并且可能不是整体最大值。

但为什么从下到上的方法更好呢?
在我看来,它也面临着同样的问题。

例如,在示例中的三角形中,我们会得到(从底部开始):
9+6+4+3=22

那么为什么要从下往上开始呢?


这就是所谓的动态规划。

你有这样的三角形:

   3
  7 4
 2 4 6  
8 5 9 3

当您从底部移动到顶部时,您可以计算最后一次迭代的最佳选择。 在这种情况下,您将选择最后一行8 5 9 3并最大化除上一行之外的总和。

迭代 1: 假设您正在last-1 step.

你有线2 4 6,让我们迭代一下。

From 2,您可以前往8或 5,所以8更好(最大化 2 的结果),因此您计算出第一个总和 8 + 2 = 10。

From 4,您可以转到 5 或9, so 9更好(最大化 4 的结果),因此您计算出第二个总和 9 + 4 = 13。

From 6,您可以前往9或 3,所以9又更好了(最大化 6 的结果),因此您计算出第三个总和 9 + 6 = 15。

这是第一次迭代的结束,您得到了总和行10 13 15.

现在你有了较低维度的三角形:

    3
  7  4
10 13 15  

现在继续下去,直到获得一个值,即 23。

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

欧拉项目 #18 方法 的相关文章

  • 在地图元素上使用 for_each

    我有一个映射 我想在其中对每个数据类型对象成员函数执行调用 我还知道如何在任何序列上执行此操作 但是是否可以在关联容器上执行此操作 我能找到的最接近的答案是 Boost Bind 访问 std for each 中的 std map 元素
  • 滑动窗口最小算法

    这是一个家庭作业问题 设 A 是一个整数数组和整数 K 窗口大小 当窗口滑过 A 时 生成在窗口中看到的最小值的数组 M 我发现一篇文章 http home tiac net cri 2001 slidingmin html有这个问题的解决
  • 如果我在计算强连通分量时不使用 G 转置会怎样?

    我正在阅读算法导论 在 22 5 强连通分量中 算法 STRONGLY CONNECTED COMPONENT G 定义为 调用 DFS G 计算每个顶点 u 的完成时间 u f 计算 G 转置 调用 DFS G transpose 但在
  • 将曲线图案与图像边缘匹配

    我有一个要搜索沿其边缘的曲线的目标图像和一个包含该曲线的模板图像 我需要实现的是在目标图像中找到模板图像中的曲线的最佳匹配 并根据分数来判断是否匹配 这还包括曲线的旋转和大小调整 目标图像可以是 Canny Edge 检测器的输出 如果这能
  • Deflate 压缩 - 数值示例

    我真的很想看看一个数字示例 手动压缩如何进行压缩 以下非常短的文本 abc 已使用 deflate 算法进行压缩 输出 eJxLTEoGAAJNASc 其二进制表示法为 01100101 01001010 01111000 01001100
  • 无限循环:确定并打破无限循环

    你如何判断一个循环是无限循环并且会跳出它 有没有人有算法或者可以帮助我解决这个问题 Thanks 没有通用的算法可以确定程序是否处于无限循环中图灵完备 http en wikipedia org wiki Turing completene
  • com.jcraft.jsch.JSchException:算法协商失败

    我正在尝试从客户端计算机连接 sftp 服务器 但是 com jcraft jsch JSchException 算法协商失败 我收到这种错误 com jcraft jsch JSchException Algorithm negotiat
  • JavaScript 中多个数组的笛卡尔积

    如何在 JavaScript 中实现多个数组的笛卡尔积 举个例子 cartesian 1 2 10 20 100 200 300 应该返回 1 10 100 1 10 200 1 10 300 2 10 100 2 10 200 2020
  • 我想知道像tineye.com这样的反向图像搜索服务是如何工作的......?

    像 TinEye 这样的反向图像搜索引擎如何工作 我的意思是进行图像搜索需要哪些参数 不知道 TinEye 是否使用这个 但是SURF http en wikipedia org wiki SURF是用于此目的的常用算法 在这里您可以看到一
  • 排序数组最快的搜索方法是什么?

    正在回答另一个问题 https stackoverflow com questions 4752028 whats wrong with this interpolation search implementation 4752042 47
  • 下面代码的时间复杂度怎么是O(n)?

    I was solving a time complexity question on Interview Bit which is given below in the image 这个问题的正确答案是O N 但根据我的说法 答案应该是
  • 如何在范围树中搜索?

    我读了几张幻灯片 像这样one http www cse wustl edu taoju cse546 lectures Lecture21 rangequery 2d pdf最后一页 描述搜索算法 但是 我有一个基本问题 数据位于二维空间
  • 迭代最近点实现

    我目前正在使用以下伪代码在 C 中实现 ICP 算法 从 获取ICP 简报 http www math tau ac il dcor Graphics adv slides ICP ppt function ICP Scene Model
  • python itertools.permutations 的算法

    有人可以解释一下算法吗itertools permutationsPython 标准库 2 6 中的例程 我不明白为什么它有效 Code is def permutations iterable r None permutations AB
  • 检测360度转弯算法

    我成功检测到手机绕轴的 0 360 度旋转 滚动 但现在我很难设计一种有效的算法来检测一整圈 我的工作但我认为不像我想要的那样优雅和有效的算法是 private boolean detectRoll private boolean chec
  • 将矩形均匀分布在另一个矩形内所需的算法

    我正在寻找一种算法 可以帮助在较大的矩形内分配不同大小的矩形 同时最大限度地减少重叠 我研究过装箱算法 但它们似乎最小化了矩形之间的空间量 在我的例子中 所有被包装的物品都将是正方形 我想我想最大化所有正方形和外部矩形边界之间的距离 这是我
  • 在 C/C++ 中绘制填充椭圆的简单算法

    在SO上 找到了以下绘制实心圆的简单算法 for int y radius y lt radius y for int x radius x lt radius x if x x y y lt radius radius setpixel
  • MapReduce 只是另一个编程原理的概括吗?

    我正在研究并行编程 并且正在研究映射缩减和其他分布式算法 最好只学习mapreduce 还是有更通用的算法可以更好地为我服务 这取决于您打算使用算法的目的 映射减少 http labs google com papers mapreduce
  • 从两个列表中查找总和等于 x 的 2 个数字的最快方法

    我的代码 n 3 a1 0 b1 10 a2 2 b2 2 if b1 gt n b1 n if b2 gt n b2 n diap1 x for x in range a1 b1 1 diap2 x for x in range a2 b
  • 将 N 个不同半径的圆放置在一个大圆内且不重叠

    给定 n 个半径为 r1 rn 的圆 将它们放置在没有圆重叠且边界圆具有 小 半径的位置 该程序采用列表 r1 r2 rn 作为输入并输出圆心 我要求 小 因为 最小 半径将其转换为一个更困难的问题 最小版本已被证明是 NP 困难 完整 请

随机推荐

  • 将 JS 库 xml2js 与 Angular 2 结合使用

    我正在尝试在 Angular 2 带有 TypeScript 的 RC 1 Web 应用程序中使用 xml2js 作为 XML 解析器 但是我只收到一些错误并且没有有效的解决方案 这是我一步一步所做的 通过安装 xml2jsnpm inst
  • 如何从investing.com 上抓取数据?

    我想从以下位置抓取 EUR USD 的 5 分钟技术摘要 https au investing com currencies eur usd https au investing com currencies eur usd 但我不知道该怎
  • 内联表值 UDF 能否优于 SELECT 列列表中的等效标量 UDF?

    这个问题源于SQLServer 为什么要避免表值用户定义函数 https stackoverflow com questions 1081057 sqlserver why avoid table valued user defined f
  • 使用服务主体连接 Azure SQL Server

    我想通过 Python 使用 Azure 服务主体连接 Azure SQL 数据库 请帮我 我可以使用服务主体通过 ADF 连接它 有一个图书馆Microsoft Azure Active Directory Authentication
  • C# 中的应用程序关闭事件

    我正在使用 NAudio 编写音乐播放器 在关闭播放器之前 我想调用一些停止播放的方法 我该怎么做呢 WinForms 订阅Application ApplicationExit http msdn microsoft com en us
  • UIAlertController 显示延迟

    我在我的应用程序上遇到了 UIAlertController 问题 现已迁移到 iOS8 其中包含日期选择器 下面是代码 UIAlertController AlertView UIAlertController alertControll
  • 我用 MediaRecorder 录制的文件无法播放

    我正在使用 MediaRecoder 录制声音 但录制完成后无法播放 我尝试使用Google Play Music ES Media Player 甚至将其上传到电脑并尝试使用Winamp打开它 没什么玩的了 AUDIO RECORDER
  • 无法在 Eclipse 中运行从 Git 导入的项目

    我的 Eclipse 工作区中有一个来自 Github 的项目 通过 File gt Import gt Projects from GIT 但是 我无法运行该示例 因为 运行方式 下的唯一选项是 运行配置 转到 运行配置 后 我单击 浏览
  • 使用 React JS 进行多个文件上传

    我试图弄清楚如何在 React JS 中循环多个文件上传 最终我希望能够循环遍历每个文件 以便我可以判断是否仅上传 PNG JPG 和 MP3 文件 我还希望 PNG JPG 文件限制为 5MB MP3 文件限制为 2MB 到目前为止 我不
  • 为什么 C# 中 bool 数据类型的大小不是只有 1 位?

    我刚刚学习 C 并深入研究数据类型 为什么不是一个bool数据类型大小为 1 位 看起来它只能保存两个值之一 true 或 false 那么这不是只占用 1 位空间来表示该值吗 是因为值的最小 可寻址 大小是一个字节 8 位 吗 这个帖子
  • MVC 5 中的“缓存配置文件”

    我是 MVC 的初学者 我有一个项目要从 MVC2 转换到最新版本的 MVC 我读了一些关于MVC 4的书 所以我开始了解主要机制 但是 在转换我的 MVC 2 解决方案时 我遇到了一个属性问题 OutputCache 例如 我有多个这样的
  • C++:在现实世界中添加和重新定义默认参数

    在 C 中可以添加或重新定义函数的默认参数 让我们看一下例子 void foo int a int b int c 1 std cout lt lt foo lt lt a lt lt lt lt b lt lt lt lt c lt lt
  • 有没有办法更改 UITabBar 或 UITabBarItem 中的文本位置?

    这是我打算放在屏幕上的自定义选项卡栏 然而 我的搭档希望文字稍微向上一些 我怎样才能这样做呢 为什么不为视图控制器设置一个空的标题属性 并将标题添加到选项卡的自定义图像中 UPDATE 为了回答的完整性 来自评论和ios标签栏在没有图像时将
  • 如何使用 jquery 检查输入 type="file" 是否有文件?

    我有一个文件上传控件
  • Some() 在变量赋值的左侧做什么?

    我正在阅读一些 Rust 代码 并且遇到了这一行 if let Some path env args nth 1 这个函数内部 fn main if let Some path env args nth 1 Try reading the
  • 如何在 Node.js 中获取 RSA 公钥的模数和指数

    我正在创建一个ACME https www rfc editor org rfc rfc8555客户端和我需要找到 RSA 公钥的模数和指数 我使用以下代码生成该公钥 crypto generateKeyPairSync rsa modul
  • 将操作分配给 Automator 中的变量以在 Shell 脚本中使用

    好吧 这件事现在让我发疯 因此 操作 1 选择一个文件夹 我想将该文件夹的路径保存为 var 1 操作 3 选择一个文件 我想将该文件的路径保存为 var 2 所以到底 var 1 Users Prometheus Desktop var
  • Chrome/Firefox 中双美元符号选择器查询功能的来源是什么?

    Check 这个jsfiddle http jsfiddle net T2PMc 并查看控制台 没有定义 现在 打开一个全新的窗口 然后输入 进入控制台 它定义了一个函数 用于获取与选择器匹配的所有 dom 元素的 类似 jquery 的
  • jQuery Isotope — 居中且流畅/响应式

    我要问一个关于Isotope http isotope metafizzy co 它是一个很棒的 jQuery 插件 我已经玩了一段时间了 但我对 javascript 的了解还不够 无法结合两种同位素技术 响应同位素 http isoto
  • 欧拉项目 #18 方法

    我正在研究一个欧拉项目 具体来说 18 总而言之 这个想法是从三角形中找到最大路径 3 7 4 2 4 6 8 5 9 3 3 7 4 9 23 读到这里 大多数人表示 通过从下到上工作可以正确解决这个问题 而不是使用从上到下 贪婪 工作的