- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一组 N^2 个数字和 N 个箱子。每个箱子都应该有分配给它的集合中的 N 个数字。我面临的问题是找到一组将数字映射到 bin 的分布,满足约束,即每对数字只能共享同一个 bin 一次。
分布可以很好地用 NxN 矩阵表示,其中每一行代表一个 bin。然后问题是找到矩阵元素的一组排列,其中每对数字仅共享同一行一次。它在哪一行无关紧要,只是两个数字都分配给了同一个数字。
满足 N=8 约束的 3 个排列的示例集:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516 17 18 19 20 21 22 2324 25 26 27 28 29 30 3132 33 34 35 36 37 38 3940 41 42 43 44 45 46 4748 49 50 51 52 53 54 5556 57 58 59 60 61 62 63
0 8 16 24 32 40 48 56 1 9 17 25 33 41 49 57 2 10 18 26 34 42 50 58 3 11 19 27 35 43 51 59 4 12 20 28 36 44 52 60 5 13 21 29 37 45 53 61 6 14 22 30 38 46 54 62 7 15 23 31 39 47 55 63
0 9 18 27 36 45 54 63 1 10 19 28 37 46 55 56 2 11 20 29 38 47 48 57 3 12 21 30 39 40 49 58 4 13 22 31 32 41 50 59 5 14 23 24 33 42 51 60 6 15 16 25 34 43 52 61 7 8 17 26 35 44 53 62
不属于上述集合的排列:
0 10 20 30 32 42 52 62 1 11 21 31 33 43 53 63 2 12 22 24 34 44 54 56 3 13 23 25 35 45 55 57 4 14 16 26 36 46 48 58 5 15 17 27 37 47 49 59 6 8 18 28 38 40 50 60 7 9 19 29 39 41 51 61
因为与第二个排列的多次冲突,因为,例如,它们都将数字 0 和 32 配对成一行。
枚举三很容易,它由 1 个任意排列、它的转置和一个矩阵组成,其中的行由前一个矩阵的对角线组成。
不过,我找不到制作包含更多内容的集合的方法。这似乎是一个非常复杂的问题,或者是一个解决方案不明显的简单问题。无论哪种方式,如果有人有任何想法如何在合理的时间内解决 N=8 的情况,或者确定问题的正确学术名称,以便我可以谷歌搜索,我将不胜感激。
如果您想知道它有什么用,我正在寻找一种用于具有 8 个缓冲区的交叉开关的调度算法,它为 64 个目的地提供流量。调度算法的这一部分与输入流量无关,并在多个硬连线目标缓冲区映射之间循环切换。目标是让每对目标地址在循环周期内仅竞争同一个缓冲区一次,并最大化该周期的长度。换句话说,每对地址都尽可能少地竞争同一个缓冲区。
编辑:
这是我的一些代码。 CODE
比较贪心,一般在找到第三个排列后就结束了。但至少应该存在一组满足问题的排列。
替代方案要求选择排列 I 涉及寻找排列 (I+1..N),以检查排列 I 是否是包含最大排列数的解的一部分。这需要枚举所有排列以在每一步进行检查,这是非常昂贵的。
最佳答案
你想要的是一个combinatorial block design .使用链接页面上的命名法,您需要设计大小为 (n^2, n, 1) 的最大 k。这将使用您的命名法为您提供 n(n+1) 个排列。这是计数参数理论上可能的最大值(参见文章中关于从 v、k 和 lambda 推导 b 的解释)。对于一些质数 p 和整数 k,使用仿射平面的 n = p^k 存在这样的设计。据推测,唯一存在的仿射平面就是这种大小。因此,如果您可以选择 n,也许这个答案就足够了。
但是,如果您只想找到一个大数字(对于给定的 n^2,您可以找到的最大数字)而不是理论上可能的最大排列数,我不确定对这些对象的研究叫什么。
关于algorithm - 寻找一组排列,有约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314587/
题: 是否有一种简单的方法可以获取正在运行的应用程序中泄漏的资源类型列表? IOW 通过连接到应用程序? 我知道 memproof 可以做到,但它会减慢速度,以至于应用程序甚至无法持续一分钟。大多数任
正确地说下面的代码会将自定义日志发送到.net核心中的Docker容器的stdout和stderr吗? console.Writeline(...) console.error(..) 最佳答案 如果
我想将一个任务多次重复,放入 for 循环中。我必须将时间序列对象存储为 IExchangeItem , openDA 中的一个特殊类(数据同化软件)。 这是任务之一(有效): HashMap ite
我需要从文件中读取一个数组。该数组在文件中不是连续排序的,必须跳转“偏移”字节才能获得下一个元素。假设我读取一个非常大的文件,什么更有效率。 1) 使用增量相对位置。 2)使用绝对位置。 选项 1:
我有一个安装程序(使用 Advanced Installer 制作)。我有一个必须与之交互的应用程序,但我不知道如何找到该安装的 MSIHANDLE。我查看了 Microsoft 引用资料,但没有发现
我在替换正则表达式中的“joe.”等内容时遇到问题。这是代码 var objects = new Array("joe","sam"); code = "joe.id was here so was
我有 A 类。A 类负责管理 B 对象的生命周期,它包含 B 对象的容器,即 map。 ,每个 B 对象都包含 C 对象的容器,即 map .我有一个全局 A 对象用于整个应用程序。 我有以下问题:我
任何人都可以告诉我在哪里可以找到 freeImage.so 吗?我一直在努力寻找相同的东西但没有成功..任何帮助将不胜感激。我已经尝试将 freeimage.a 转换为 freeImage .so 并
在单元测试期间,我想将生成的 URL 与测试中定义的静态 URL 进行比较。对于此比较,最好有一个 TestCase.assertURLEqual 或类似的,它可以让您比较两个字符串格式的 URL,如
'find ./ -name *.jpg' 我正在尝试优化上述语句的“查找”命令。 在查找实现中处理“-name”谓词的方法。 static boolean pred__name __common (
请原谅我在这里的困惑,但我已经阅读了关于 python 中的 seek() 函数的文档(在不得不使用它之后),虽然它帮助了我,但我仍然对它的实际含义有点困惑,任何非常感谢您的解释,谢谢。 最佳答案 关
我在我正在使用的库中找到了这个语句。它应该检查集群中的当前节点是否是领导者。这是语句:(!(cluster.Leader?.IsRemote ?? true)) 为什么不直接使用 (cluster.L
我发现 JsonParser 在 javax.json.stream 中,但我不知道在哪里可以找到它。谁能帮帮我? https://docs.oracle.com/javaee/7/api/javax
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
如果 git 存储库中有新的更改可用,我有一个多分支管道作业设置为每分钟由 Jenkinsfile 构建。如果分支名称是某种格式,我有一个将工件部署到环境的步骤。我希望能够在每个分支的基础上配置环境,
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我想我刚刚意识到当他们不让我使用 cfdump 时我的网络主机是多么的限制。这其实有点让我生气,真的,dump 有什么害处?无论如何,我的问题是是否有人编写了一个 cfdump 替代方案来剔除复杂类型
任务:我有多个资源需要在一个 HTTP 调用中更新。 要更新的资源类型、字段和值对于所有资源都是相同的。 示例:通过 ID 设置了一组汽车,需要将所有汽车的“状态”更新为“已售出”。 经典 RESTF
场景:表中有 2 列,数据如下例所示。对于“a”列的相同值,该表可能有多个行。 在示例中,考虑到“a”列,“1”有三行,“2”有一行。 示例表“t1”: |a|b ||1|1.1||1|1.2||1
我有一个数据框: Date Price 2021-01-01 29344.67 2021-01-02 32072.08 2021-01-03 33048.03 2021-01-04 32084.
我是一名优秀的程序员,十分优秀!