网格上最长的路径,无需重新访问网格单元

2024-01-10

我正在寻找一种算法来找到网格上两点之间的最长路径,但附加的限制是您不能重新访问网格上的单元格。 (此外,您只能向上、向下、向左、向右移动)。

考虑到这些限制,我认为走最长的路径与尝试填充尽可能多的空间相同。然而,我在弄清楚如何做到这一点方面遇到了一些困难。


这是二维网格的线性时间算法:http://www.sciencedirect.com/science/article/pii/S0166218X11003088 http://www.sciencedirect.com/science/article/pii/S0166218X11003088

如果网格不是矩形,那么问题是 NP 困难的,您应该使用算法的一些变体来解决旅行商问题 - 例如一个使用整数 线性规划。

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

网格上最长的路径,无需重新访问网格单元 的相关文章

  • 如何将惰性变量传递给函数参数而不对其求值,除非返回

    这个问题是针对python的 尽管我不介意用户分享其他语言的经验 基本上我的问题是尝试将惰性变量传递给函数 就我而言 我可能无法控制该函数 因此无法更改它以将生成器作为输入 示例 请注意 dict get 是函数的示例 但它很可能是 foo
  • 用于整数分区的优雅 Python 代码 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我尝试编写代码来解决标准整数分区问题 维基百科 http en wikipedia org wiki Partition 28numb
  • 什么是确定性快速排序?

    我一直在阅读有关快速排序的内容 发现有时它被称为 确定性快速排序 这是普通快速排序的替代版本吗 普通快速排序和确定性快速排序有什么区别 普通 确定性 快速排序在特定数据集上的行为可能非常差 例如 选择第一个未排序元素的实现在已排序数据上的时
  • 对矩阵进行舍入,保留行和列总计

    想要 以保留行和列总计的方式对矩阵进行舍入的 伪 代码 问题从向量开始 X and Y of 非负整数 with Sum X Sum Y 想要圆X Y Sum X 同时保留行和列总计 这是婚姻问题的一种 Xa需要进行一定次数的握手 拨打该号
  • 为什么这个函数不是纯粹的?

    在维基百科文章中https en wikipedia org wiki Pure function Impure functions https en wikipedia org wiki Pure function Impure func
  • 图像算法上的物体计数

    我又接到学校任务了 这次 我的老师给我的任务是创建算法来计算图片上有多少只鸭子 该图与此类似 我想我应该使用模式识别来搜索上面有多少只鸭子 但我不知道每只鸭子适合哪种图案 我认为你可以通过分割鸭嘴并计算鸭嘴的数量来解决这个问题连接的组件 h
  • 用于计算三角函数、对数或类似函数的算法。仅限加减法

    我正在修复 Ascota 170 古董机械可编程计算机 它已经开始工作了 现在我正在寻找一种算法来展示其功能 例如计算三角或对数表 或类似的东西 不幸的是 从数学运算来看 计算机只能进行整数的加减法 从 1E12到1E12的55个寄存器 甚
  • Google 文档如何处理编辑冲突?

    我一直在尝试编写自己的 Javascript 编辑器 其功能类似于 Google Docs 允许多人同时使用 我不明白一件事 假设用户 A 和用户 B 直接相互连接 网络延迟为 10 毫秒 我假设编辑器使用 diff 系统 据我了解 Doc
  • 查找文本中所有关键字的有效算法

    我有很多字符串 其中包含许多不同拼写的文本 我通过搜索关键字来标记这些字符串 如果找到关键字 我将使用该关键字的关联文本 假设搜索字符串可以包含文本 schw schwa 和 施瓦茨 我有三个关键字 全部解析为文本 schwarz 现在我正
  • 序列和与 GCD

    大约一个月前 我在编程挑战中遇到了这个问题 但社论尚未发布 所以我在这里问 有一个大小为 N 的数组 A 求 A 的 K 个长度子序列的总和 GCD Example 如果 A 1 2 3 且 K 2 1 2 3 总和 1 GCD 3 1 3
  • 计算字符串的所有子串中子序列的出现次数

    我想编写一个算法来计算字符串的所有子字符串中字符子序列 不相交 出现的总数 下面是一个例子 字符串 jabcohnnyjohnny 后续 约翰尼 包含子序列的子字符串 jabcohnny jabcohnnyj jabcohnnyjo jab
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 简单的排名算法

    我需要创建一个民意调查 按照项目的好坏顺序创建一个排名列表 我打算向每个用户展示两个项目 让他们选择一个他们认为更好的项目 然后多次重复这个过程 它有点类似于您在社交网络电影 我应该如何根据收到的答案对项目进行排名 看着那 这ELO国际象棋
  • 定点数学比浮点运算快吗?

    多年前 即 20 世纪 90 年代初期 我构建了图形软件包 该软件包基于定点算术和预先计算的 cos sin 表格以及使用牛顿近似方法进行 sqrt 和对数近似的缩放方程来优化计算 这些先进技术似乎已经成为图形和内置数学处理器的一部分 大约
  • 有哪些学习线程编程的好资源? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 随着多核CPU在桌面上的兴起 多线程技能将成为程序员的宝贵资产 您能为想要学习线程编程的程序员推荐一些好的资源 书籍 教程 网站等 吗 看
  • heapq.nlargest 的时间复杂度是多少?

    我在看演讲者说 获得t列表中最大的元素n元素可以在O t n 这怎么可能 我的理解是创建堆将是O n 但是复杂度是多少nlargest本身就是O n t or O t 实际的算法是什么 在这种情况下 说话者是错误的 实际成本是O n log
  • 如何在C中实现带连分数的自然对数?

    这里我有一个小问题 根据这个公式创建一些东西 这就是我所拥有的 但它不起作用 弗兰基 我真的不明白它应该如何工作 我尝试用一 些错误的指令对其进行编码 N 是迭代次数和分数部分 我认为它会以某种方式导致递归 但不知道如何 谢谢你的帮助 do
  • 重写修改后的 goto 语义的算法

    我有一大堆使用旧的自行设计的脚本语言编写的遗留代码 我们将它们编译 翻译成 javascript 该语言有条件跳转 跳转到标签 与普通 goto 语句的区别在于 不可能向后跳转 该语言中没有嵌套的 if 语句或循环 由于 javascrip
  • 这个函数(for循环)空间复杂度是O(1)还是O(n)?

    public void check 10 for string i list Integer a hashtable get i if a gt 10 hashtable remove i 这是 O 1 还是 O n 我猜测 O n 但不是
  • 我应该对算法使用递归还是记忆化?

    如果我可以选择使用递归或记忆来解决问题 我应该使用哪一个 换句话说 如果它们都是可行的解决方案 因为它们提供了正确的输出并且可以在我正在使用的代码中合理地表达 那么我什么时候会使用其中一个而不是另一个 它们并不相互排斥 您可以同时使用它们

随机推荐

  • 如何从文件名获取完整文件路径?

    如何获取给定文件的完整路径 例如我提供 string filename test txt 结果应该是 Full File Path C Windows ABC Test test txt Try string fileName test t
  • 应用程序范围的全局变量

    In Rails 我应该在哪里定义Rails堆栈的每一层都可以识别的变量 例如 我想要一个CUSTOMER NAME John 可以访问的变量helper rake task 控制器 and model 我应该在哪里定义这个变量Rails
  • jQuery 当前位置和滚动位置之间的差异

    我试图获取元素距顶部的当前距离与其滚动后的下一个位置之间的差异 事实上 我试图根据其距离来选择动画持续时间 我写了下面的代码 但它不能正常工作 I have 6菜单项 当我单击每个菜单项时 窗口滚动到其位置 但问题是 当我单击最后一项时 它
  • 从控制台运行 Zend Framework 2 操作不起作用

    我有一个 ZF2 应用程序从 Web 服务器正常运行 我需要从命令行运行一些操作 因为我想要执行一些计划任务 cron 作业 所以我找到了这些有用的链接 Zend框架的官方文档 http framework zend com manual
  • 将 vuex 状态与服务器同步的推荐策略

    想象一下这个简单的例子 您有一个 Vue JS 应用程序 用户可以在其中创建任务列表并对它们进行排序 这些列表应由服务器存储在数据库中 假设我们有一个ListComponent它完成了大部分用户体验 我的问题是 我应该使用哪种模式来处理前后
  • 最佳开源 LINQ 提供商 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何更改 C++ STL 向量的特定元素

    vector
  • 表达式等于

    所以 我正在尝试找出表达式树 我试图添加动态等于可查询 其中 T 是几个不同的表之一 我首先检查表中是否包含我想要过滤的字段 ParameterExpression param Expression Parameter typeof TSo
  • COM 中的内存管理

    在COM服务器执行期间分配一块内存 然后通过输出参数将该内存块传递给客户端是很常见的 然后 客户端有义务使用 CoTaskMemFree 等方法释放该内存 问题是 这块内存分配在哪里 假设COM服务器和COM客户端处于不同的进程中 为了让客
  • TypeScript 中 jQuery 对象的类型是什么?

    我应该为 jQuery 元素使用什么类型 没有 jQuery 我会这样继续 export class Modal constructor protected element HTMLElement 但是 可以说element将是一个 jQu
  • 当包含 Spring 数据剩余时,Spring 以纯 JSON 而非 HAL 格式返回资源

    当我为我的实体使用 Spring Data Rest 提供的默认控制器时 一切都会正常工作 输出如下所示 links search href http localhost 8080 users search embedded users f
  • iOS 10 上强制使用软件键盘

    当蓝牙 HID 设备 如条形码扫描仪 处于活动状态时 有没有人知道如何强制 iOS 中的屏幕软件键盘 关于 SO 有一些古老的问题 但大多数都是通过手动调整键盘视图的框架来解决的 并且从 iOS 8 开始 该方法似乎不再适用 奇怪的是 似乎
  • 根据 div 的高度动态更改其上边距

    我有一个固定在网页一侧的 div 我需要该 div 垂直居中 使用 CSS 轻松完成 注意 div 的基础高度为 300px sidePanel margin 150px 0 0 0 top 50 position fixed 我遇到的问题
  • MySQL 在 Group By 查询中选择错误的列值

    这是我遇到的一个真正的菜鸟 MySQL 查询问题 我正在编写的游戏中有一个高分表 高分DB记录姓名 等级以及获得的分数 数据库中有许多接近重复的内容 例如 Name Level Score Timestamp key Bob 2 41 12
  • Visual Studio 2017 15.3.0 git 更改包括“storage.ide”,即使 .gitignore 中的 .vs/

    几天前我将VS 2017升级到15 3 0 从那时起 文件 storage ide 一直保留在我修改的文件中 即使我使用过VS 的建议 gitignore https github com github gitignore blob mas
  • 运算符“<”不能应用于“object”和“int”类型的操作数

    我正在 ASP NET 和 C 中创建用户登录 但是在编写函数后 由于错误而无法编译 错误指出 运算符 我想检查 ExecuteNonQuery 的返回值是否大于 0 否则登录会失败 该存储过程是在类的前面与已确认的数据库连接字符串一起创建
  • 展开角度以获得连续相位

    假设我有一系列与此类似的阶段 import numpy as np import matplotlib pyplot as plt phase np linspace 0 100 1000 np pi plt plot phase plt
  • Lisp 反转“全部”函数

    我想在 lisp 中编写一个函数 使用映射函数反转列表中的所有元素 但我不知道如何开始这个 我想我必须以某种方式使用内置的反向函数 例如 如果我有列表 1 2 3 4 5 6 7 8 9 我会得到 9 8 7 6 5 4 3 2 1 或者如
  • 如何在“--help”中定义单击子命令的顺序

    我有这样的代码 import click click group def entry point pass entry point add command lidtk data download documents main entry p
  • 网格上最长的路径,无需重新访问网格单元

    我正在寻找一种算法来找到网格上两点之间的最长路径 但附加的限制是您不能重新访问网格上的单元格 此外 您只能向上 向下 向左 向右移动 考虑到这些限制 我认为走最长的路径与尝试填充尽可能多的空间相同 然而 我在弄清楚如何做到这一点方面遇到了一