- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
对于类,我们有一个网格和网格上的一堆方 block ,我们需要检测并前往这些方 block 。我们从 (0,0) 开始。我们一次扫描网格的微小区域(出于我们数据结构的原因,这是强制性的),当我们检测到我们需要移动的方 block 时,然后我们移动。网格上有 32 个位置,但我们只需要以尽可能快的速度行驶其中的 16 个(我们正在与其他人赛跑)。
Dijkstra 算法会找到从我们当前位置到下一个位置的最短路径。然而,这是次优的,因为我们的下一个位置可能离之后的位置真的很远。如果我们能够在扫描时以某种方式计算出位置的密度,然后选择前往一个非常密集的地方并遍历该区域内的所有位置,那将会更加有益。
是否有最适合这种情况的算法?我知道贪婪的启发式算法不是最优的。 A* 和 Dijkstra 是我们最初考虑的,但我们希望有一个完全不同的解决方案。
PS 不幸的是,这是在汇编中完成的。
最佳答案
寻找密集的点群(例如,您必须访问的位置)称为 cluster analysis .请参阅几类算法的链接。
汇编语言是试验高级算法的一种非常痛苦的方式。你的教授是虐待狂吗??
关于algorithm - 击败贪心算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047312/
>>> import re >>> p = re.compile('.*&l=(.*)(&|$)') >>> p.search('foo&l=something here&bleh').group(1
最近有一道面试题如下:我们得到了一个单词列表,我们想要格式化它们以最大化回车符的数量,同时将每行的字母数量保持在一个范围内。 例如,我们希望每行的字母范围为 5 - 10(含),一种解决方案是: he
我正在使用二维数组来处理游戏中的对象。数组的维度就像笛卡尔网格上的坐标。当玩家选择一个点时,我想从数组中收集 N 个最近的网格单元,即使该点不是有效的数组索引。 例子:从 [0,0] 到 [10,10
我在 Hibernate 之上使用 Olingo 1.2。 我有一个返回 250 行的请求,每行以一对多关系链接到另一个表。 我执行 $expand 以获取子表中的所有数据,但是当我检查在数据库中执行
我正在 ANTLR4 中构建语法,但收到此警告 TL4.g4:224:12: greedy block ()* contains wildcard;非贪婪语法 ()*?可能是首选 这是它引用的代码行
In the default greedy mode, all data offered to targets are accepted, even if the other target doesn
假设我有 n 个盒子,每个盒子里面都有一些值 b[i] .我可以保证对一组框进行排序,使得 b[1] j; { min_{k=i}^j (c[k] + max(T(i, k-1)
本文已收录到 AndroidFamily ,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 339 场周赛,你参加
什么是 PHP 中的“贪心 token 解析”?我在 Codeigniter 指南中找到了这个: “除非需要解析变量,否则始终使用单引号字符串,并且在确实需要解析变量的情况下,使用大括号防止贪婪的标记
本文已收录到 AndroidFamily ,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 337 场周赛,你参加
我是一名优秀的程序员,十分优秀!