问题标签 [packing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - Bin Packing - 蛮力递归解决方案 - 如何使其更快
我有一个数组,其中包含不同尺寸材料的列表:{4,3,4,1,7,8}
。但是,该箱可以容纳最大 10 号的材料。我需要找出包装数组中所有元素所需的最小箱数。
对于上面的数组,你可以打包成 3 个 bin 并按如下方式划分它们:{4,4,1}
, {3,7}
, {8}
. 还有其他可能的安排也适合三个备用管道,但不能用更少的
我试图通过递归来解决这个问题,以便更好地理解它。
我正在使用这个DP 公式(pdf 文件的第 20 页)
考虑具有 n = ∑nj 个项的输入 (n1;:::;nk)
确定可以打包到单个 bin 中的 k 元组(输入的子集)的集合
即所有元组 (q1;:::; qk) 其中 OPT(q1;:::;qk) = 1
用 Q 表示这个集合 对于每个 k 元组 q ,我们有 OPT(q) = 1
使用递归计算剩余值: OPT(i1;:: :;ik) = 1 + minOPT(i1 - q1;:::;ik - qk)
我已经编写了代码,它适用于小型数据集。但是如果将我的数组的大小增加到超过 6 个元素,它会变得非常慢 -大约需要 25 秒来解决包含 8 个元素的数组你能告诉我算法是否有问题吗?我不需要替代解决方案 ---只需要知道为什么这么慢,以及如何改进它
这是我用 C++ 编写的代码:
getBins 函数如下:
binary-tree - 照片拼贴算法
我正在尝试构建一个脚本,该脚本将像拼贴一样动态排列照片,这与在http://lightbox.com/explore#spotlight上所做的非常相似。
我当然可以编写代码来处理具有不同照片集的每种情况,但我更希望有一个能够处理任意数量照片的算法。第 4 章中此处解释的算法http://www.hpl.hp.com/techreports/2008/HPL-2008-199.pdf似乎与我需要做的非常相似。在我的情况下,垂直和水平比例总是相同的。我将定义一个边界框以及每个节点可以拆分多少级别。边界框与水平照片的比例相同。如果算法不能适合所有图像,我会返回一个级别并将其留在那里或从可用照片池中选择另一张照片。
我的问题与屏幕上的算法排列图像非常相似,但我不确定如何前进。任何进一步的指导或伪代码都会非常有帮助。
javascript - Javascript打包有很多限制,寻找一个简单的解决方案
这不完全是打包,因为我可以自己分配矩形大小,我只需要打包的结果。我有相同比例和不同大小的矩形
FULL、
HALF(面积 = 1/4 * FULL)、
QUARTER(面积 = 1/4 * HALF)。
所有将仅水平放置。容器的宽度是 FULL 的 3 倍,高度将调整以适合矩形。
将有 150 个矩形,它们将从数组(全、半、四分之一)中获得随机大小。现在我想在容器中排列这些矩形,这样就没有间隙了。
容器和矩形是 HTML DIV。我正在使用 JavaScript 来打包它们。
这是一个小提琴http://jsfiddle.net/MywQ2/1/
在上面的代码中,我试图根据当前一个框来限制下一个框的选择。
可能是我不清楚,我会再次尝试解释。我有 150 个盒子,我只想用 150 个盒子装满容器,它们的尺寸应该是随机的,大小为满、半、四分之一。我们也可以拒绝随机选择的尺寸,如果发现它会造成间隙,则另取一个。
python - python tkinter 打包
有人可以解释一下为什么当你有一个普通的小部件作为一行代码 A 工作
但是当您为其命名或附加命令时,代码 A 不再起作用并为您提供错误消息 B
并且您必须使用单独的线路打包?
代码 A
错误信息 B
reverse-engineering - 如何解压缩 UPX 打包的 dll 文件,但标题也已更改?
我有一个 UPX 打包的文件。有什么办法可以更改标题并仍然找到它作为 UPX 包装?我该如何打开它?我尝试了很多教程,但我受够了,因为所有人都解释了对我不起作用的相同方法。下面提到了同样的问题: http ://www.reteam.org/board/showthread.php? t=2670 我不是一个精通反向工程师.. :( jst a noob .. 任何想法都会是真的有帮助。
algorithm - 查找填充容器的最大矩形大小
我有一个容器,有一定的宽度和高度。我有一堆块需要放入容器中,但我需要计算这些块可以容纳的最大尺寸。
例如:
到:
我猜它类似于这个问题,但他的代码是 jquery 并且适用于文本。我只想使用伪代码或某种形式的算法来说明如何做到这一点。
algorithm - 一个圆可以装多少个正方形?
一个半径为R的圆可以装多少个 a × a 的正方形?
我不需要解决方案。我只需要某种开始的想法。
c# - 使用 BinaryReader 在 C# 中读取序列化的 C++ 结构
我有一些文件已通过struct
使用二进制文件直接编写 C++ 进行序列化fstream
。现在,当我为相应的 C# 类生成读取方法时,我发现这些方法并不是真正的一对一映射,可能是因为结构打包。
所以我的问题是 - 处理这种情况的最佳方法是什么?我有 C++ 和 C# 源代码,所以我可以更改任何一部分。我应该尝试在不打包的情况下序列化 C++(我假设这是用 完成的#pragma pack(1)
,对)还是以某种方式调整我的 C# 代码以考虑这些差距?
还是反序列化的问题完全不同,与打包无关?
更新 1我发现 C++enum
的长度为 4 个字节,bool
值的长度为 2 个字节(谁知道?),但即使添加后#pragma pack(1)
我也只能正确读取第一条记录。另外,我检查了字节数sizeof(MyStructure)
和值是否匹配。这一定意味着记录之间有一些填充。
更新 2该死,在代码中发现了一个错误。复制粘贴错误。需要 PVS Studio 什么的。现在一切都好。(是的,一个布尔值是 1 个字节大。)
python - 如何使用 Python 打包一个大整数,将四个字符视为网络字节顺序中的无符号长整数,就像 Ruby 的 .pack("N") 一样?
这是我想在 Python 中实现的 Ruby 部分:
你看,这有助于将 URL 变成这样:
变成这样的小代码:
在这个过程中生成的大整数是这样的:
我已经能够使用以下 Python 代码将其打包成二进制形式:
我得到的短代码是这样的:
正如你所看到的,它比我用 Ruby 得到的要大,这个包装使用了不同的格式。
你的帮助将不胜感激。
mysql - 使用什么软件从 MySQL DB 生成格式化的装箱单?
我需要从 MySQL 数据库生成格式化(特别是样式)装箱单。我们是一家与互联网公司整合的履行机构。