如何生成多重集的所有排列?

2023-11-24

多重集是一个集合,其中所有元素可能不唯一。如何枚举集合元素之间所有可能的排列?


生成所有可能的排列然后丢弃重复的排列是非常低效的。存在各种算法来直接生成按字典顺序或其他类型的排序的多重集的排列。 Takaoka 的算法是一个很好的例子,但 Aaron Williams 的算法可能更好

http://webhome.csc.uvic.ca/~haron/CoolMulti.pdf

此外,它已在 R 包“multicool”中实现。

顺便说一句,如果您只想要不同排列的总数,答案就是多项式系数: 例如,如果您有 n_a 个元素“a”、n_b 个元素“b”、n_c 个元素“c”, 不同排列的总数为 (n_a+n_b+n_c)!/(n_a!n_b!n_c!)

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

如何生成多重集的所有排列? 的相关文章

  • 如何在Python中按AaB而不是ABa顺序对字符串进行排序

    我正在尝试对字符串进行排序 为 punnetsquare 制作基因型 我目前的实现是 unsorted genotype ABaB sorted genotype sorted list unsorted genotype sorted s
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • 在C#中的某个单词之后/之前过滤字符串中的值

    我有很长的字符串 它们是 IMAP 请求的响应 我想从中提取一些值 它通常的格式类似于 x someword 或 someword x 如何获取某个单词 已知 的x 它可以超过一位数字 响应的每一 行 如下所示 x someword r n
  • 正则表达式查找字符串中的整数和小数

    我有一个像这样的字符串 str1 12 ounces str2 1 5 ounces chopped 我想从字符串中获取金额 无论它是否是小数 12 或 1 5 然后获取紧邻的前一个测量值 盎司 我能够使用一个非常基本的正则表达式来获取测量
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc
  • 二维滑动窗口最小值/最大值

    假设我们得到一个大小为 NxN 的像素整数矩阵和一个整数 k 窗口大小 我们需要使用滑动窗口找到矩阵中的所有局部最大值 或最小值 这意味着 如果某个像素与其周围窗口中的所有像素相比具有最小 最大 值 则应将其标记为最小 最大 有一种著名的滑
  • 照片马赛克算法。如何在给定基本图像和瓷砖列表的情况下创建马赛克照片?

    Hy 我要做的是创建一个程序 使用 C 或 C 它将 24 位 像素位图和图像集合作为输入 我必须创建一个马赛克图像 类似于使用库的输入图像给定的图像 创建与输入类似的马赛克照片 到目前为止 我可以访问输入的图像像素及其颜色 但我有点卡住了
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • 返回类型时 c_str() 与 data()

    在C 11之后 我想到了c str and data 同等地 https stackoverflow com questions 194634 string c str vs data C 17 为后者引入了一个重载 它返回一个非常量指针
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • T-SQL:如何获取字符串的确切字符长度?

    我正在为预先没有数据类型信息的表生成 T SQL SELECT 语句 在这些语句中 我需要执行取决于表列的原始值的长度的字符串操作操作 一个示例 但不是唯一的示例 是在字符串中的特定位置插入一些文本 包括将其插入末尾的选项 SELECT C
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • Swift 3 错误:[_SwiftValue pointSize] 无法识别的选择器发送到实例

    我刚刚将我们的项目迁移到 swift 3 发现由于一个问题导致大量崩溃 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 SwiftValue pointSize 发送到实例的无法识别的选择器 该
  • 如何使用正则表达式将字符串分成相同字符的组?

    我有一个这样的字符串 var string AAAAAAABBBCCCCCCDD 并喜欢将字符串分割成这种格式的数组 same characters gt same group 使用正则表达式 Array AAAAAAA BBB CCCCC
  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • 列出所有 k 元组,其条目总和为 n,忽略旋转

    有没有一种有效的算法来查找所有序列k总和为的非负整数n 同时避免旋转 如果可能的话 完全避免 顺序很重要 但对于我正在解决的问题来说 轮换是多余的 例如 与k 3 和n 3 我想要得到一个如下所示的列表 3 0 0 2 1 0 2 0 1

随机推荐

  • gnuplot:填充面积曲线,使抽动保持在顶部

    在 gnuplot 中 当您尝试填充曲线下的区域时 两个轴的抽动都会隐藏在实体区域后面 有什么办法可以让他们到前面去吗 我正在使用 postcript 终端 其中不允许透明功能 我猜 谢谢 肯定有 在绘图之前 以交互方式或在脚本中运行此命令
  • 无法连接(空)::selectionChanged 为 QTableView

    我有以下升级的 QTableView class QRightClickableTableView public QTableView Q OBJECT public explicit QRightClickableTableView QW
  • 如何在不禁用上下文菜单的情况下拦截 UITextView 上的长按?

    我想拦截 UITextview 上的长按 但不想同时禁用上下文菜单选项 如果我在文本视图上使用手势识别器 它将禁用上下文菜单 所以我现在使用如下方法 BOOL canPerformAction SEL action withSender i
  • Spring webflux 错误处理程序:如何在错误处理程序中获取请求的反应器上下文?

    Spring boot 2 1 5 项目 Reactor 3 2 9 在我的 webflux 项目中 我广泛使用反应器上下文来传递一些值 我的目的是能够获取异常处理程序内部的上下文 一个简单的例子 Component Order 2 pub
  • 如何在 SwiftUI 中设置清晰/透明背景的导航栏?

    我试图弄清楚如何为自定义导航栏编写代码以显示清晰 透明的栏而不是 白色 栏 看这个截图 这是我的代码 import SwiftUI struct ContentView View init UINavigationBar appearanc
  • Zend Framework 2:如何在应用程序到达控制器之前将重定向放入模块中

    假设我们有一个名为 Cart 的模块 并且希望在满足某些条件时重定向用户 我想在应用程序到达任何控制器之前在模块引导阶段放置重定向 所以这是模块代码 我想使用Url控制器插件 但似乎现阶段控制器实例不可用 至少我不知道如何获取它 提前致谢
  • 如何在IdentityServer4中进行多步登录?

    我们使用 IdentityServer3 隐式授权并且登录由多个屏幕组成 在 IdentityServer3 中 内置了对此类多步骤登录工作流程的支持 例如接受 EULA 双因素登录等 该功能称为 部分登录 甚至还有一个例子 https g
  • 在 Eclipse 中使用 Ant 的类路径

    我有一只蚂蚁build xml文件在命令行上运行得很好 它编译 构建 JAR 并且我能够从 JAR 中很好地执行 main 方法 这build xml文件引用了分散在各处的几个第三方库 构建 JAR 时 脚本不会将所有第三方库包含到 JAR
  • 这是从数组哈希中获取公共元素的最佳方法吗?

    我正在尝试从 Ruby 中的一组数组中获取一个公共元素 通常 您可以使用 运算符来比较两个数组 返回两个数组中存在或共有的元素 这一切都很好 除非您试图从多个对象中获取共同元素two数组 但是 我想从未知的动态数组数量 它们存储在哈希中 我
  • 如何处理原始可空类型的 Spark UDF 输入/输出

    问题 1 如果输入是包含以下内容的原始类型列 Spark 不会调用 UDFnull inputDF show x null 1 0 inputDF withColumn y udf x Double gt 2 0 apply x will
  • 禁用 jQuery 中的按钮

    我的页面创建多个按钮id rbutton i 下面是我的代码
  • Eclipse 错误:无法确定 /project-path/ 的 URI

    我在 VirtualBox 中的 Ubuntu 12 0 4 上使用 Windows 8 主机运行 Eclipse Luna 每隔一段时间 我就会启动 Ubuntu 并打开 Eclipse 来查找以下内容 我的项目应该列在包资源管理器中 但
  • python的“in”语言构造对于列表来说是线程安全的吗?

    Is obj in a list线程安全的同时a list可能会在不同的线程中修改 这是一个全面但非详尽的示例列表 of list操作以及它们是否是线程安全的 但是我找不到任何参考in语言构造 在 python 实现方面 我使用 CPyth
  • 简单的 html dom 抓取大型 html 文件

    我需要抓取一个大的 html 文件 例如 http www indianrail gov in mail express trn list html 使用简单的 html dom 我从一个简单的脚本开始 它什么也没显示 只是一个空白页 其中
  • 查找 TabStrip 索引

    是否可以在 KendoUI TabStrip 中找到选项卡的索引 我需要找到我选择的选项卡的索引 编号 并且我知道select 返回我当前的选项卡 但我不知道如何将其转换为数字 找到了解决方案 tabstrip data kendoTabS
  • VAO 是否会记住 EBO/IBO(元素或索引)和 VBO?

    我的代码正在正常工作 但这可能是一个巧合 我不想稍后再纠缠于错误 所以我试图尽可能保持它干净 我执行以下操作来初始化网格 生成并绑定 VBO 和缓冲区数据 生成并绑定 IBO 和缓冲区数据 生成并结合 VAO 绑定与之前相同的 VBO 在
  • 如何在Windows中异步打开文件

    有没有办法在 Windows 中异步打开文件 CreateFile API 函数只有 FILE FLAG OVERLAPPED 允许进一步异步读取和写入 尽管如此 文件的打开似乎是同步的 鉴于它必须访问文件系统 并可能执行昂贵的 IO 操作
  • 使用 fscanf 读取双精度

    我想从文本文件中读取双精度值 例如 31 39 9316476397222 116 113516352222 我两种都试过了 没用 我只能读取前几位十进制数字 例如39 93164 但不是 39 9316476397222 有人知道为什么吗
  • 无需光标即可在 Android Sqlite 中访问大型 BLOB

    Android 的光标窗口大小似乎有 1MB 的限制 这限制了从 SQLite 读取 BLOB 的能力 我知道您可能会说我们不应该将 BLOB 存储在数据库中 但根据定义 BLOB 被视为二进制大对象 如果不需要将它们存储在数据库中 则无需
  • 如何生成多重集的所有排列?

    多重集是一个集合 其中所有元素可能不唯一 如何枚举集合元素之间所有可能的排列 生成所有可能的排列然后丢弃重复的排列是非常低效的 存在各种算法来直接生成按字典顺序或其他类型的排序的多重集的排列 Takaoka 的算法是一个很好的例子 但 Aa