仅一个循环的排序和非排序排列

2024-04-15

我想按照给定长度的字典顺序对一个周期的排列进行排名和取消排名。

具有一个循环的排列是您可以在此循环中访问每个元素的位置。

p:= (2,3,1)是一个循环的排列。排名1。

p:= (3,1,2)也有 1 个循环,但等级为 2,因为排列在字典顺序上比第一个大,所以它的等级更高。

p:= (1,2,3)是一个有3个循环的排列。(1),(2),(3)

如何按字典顺序有效排序(用一个周期进行排列)和未排序(rank + len 到用一个周期进行排列)?我不知道如何存档这个。


我发现了一个排名的解决方案。我们知道长度的排列n has n-1!一个循环的排列。由于这些知识,我们可以得出以下解决方案。

排名:示例2341

我们开始计算给出的 1 位置的排名(n-1[position])! as tempvalue。然后我们计算指数2这是 0,因为1通过它掉出来创造了循环(1)。为了完成第一个位置的计算,我们需要乘以index的元素与tempvalue,这会导致 0temprank_0。 现在我们继续这个步骤来添加剩余的位置temprank_0+temprank_1+temprank_2+temprank_4 = 0

取消排名:4对于排列长度 4:

我们将排名划分为(n-2[postion+1])!这导致2这是索引1234不会产生循环,因此排列的第 1 个位置是4。然后我们减去2 times (n-2)!from 4。 我们继续这样两次。所以我们有412。所以最后我们只添加剩余的值3最后我们得到排列4123 .

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

仅一个循环的排序和非排序排列 的相关文章

随机推荐

  • 如何使用 stargazer 或 xtable 省略交互?

    是否可以使用omit选项 通常我会将变量名称写入omit c varname 但在互动的情况下我不知道该写什么 有什么提示吗 在其他包中如何解决这个问题 例如xtable documentclass article begin docume
  • Firebase 更改 Android 中子数据信息的布局

    这是我的 firebase 数据结构 当在我的应用程序中打印出来时 它是这样的 我该如何改变这个 所以它不显示逗号 但改为新行 在 Android 中 我只有一段代码可以从子 成分 中检索所有值 那是因为您已将成分存储在数组中 Fireba
  • 想要在激活 iOS 键盘时调整浏览器视口的大小

    在 iOS 网络浏览器 Safari Chrome 等 中 当您单击输入字段并显示键盘时 它会保持视口大小相同 但将其部分向上滑动到视图之外 这使得创建类似应用程序的网站非常困难 因为我正在编写一个聊天应用程序 当键盘显示时 我希望将对话完
  • SQL Server:如何将固定值绑定到列?

    假设我定义了一个 char 列类型 我想严格限制它的值 例如 黑 白 红 蓝 我怎样才能做到这一点 据我所知 这在 Access 中很容易 P 如果只有几个允许的值 那么您可以使用CHECK约束 http msdn microsoft co
  • 使用 Docker Jenkins 容器管道构建 docker 映像时找不到 Docker

    我有一个 Jenkins 作为 docker 容器运行 现在我想使用管道构建 Docker 映像 但 Jenkins 容器总是告诉 Docker 未找到 simple tdd pipeline Running shell script do
  • 射线聚类算法

    我知道显然有点的聚类算法 但我有不同的场景 我有许多光线 它们的起点都在 3D 球体上 并且其方向矢量向内指向球体 一些光线指向 A 点 其他光线指向 B 点等 并带有一些噪声 即光线彼此不完全相交 是否有一种聚类算法可以让我根据光线指向的
  • 将 ReadonlySpan 转换为 int 的最快方法?

    我有一个带有字符串的文件 40070 我读它并将其转换为ReadonlySpan
  • 如何在 Rails 4 中使用关注点

    默认的 Rails 4 项目生成器现在会在控制器和模型下创建目录 concerns 我找到了一些有关如何使用路由问题的解释 但没有找到有关控制器或模型的解释 我很确定这与社区当前的 DCI 趋势 有关 并且愿意尝试一下 问题是 我应该如何使
  • 在探索 Angular2 之前是否有必要先学习 TypeScript? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在尝试学习 AngularJS 2 之前是否有必要先学习 TypeScript 没有必要学习 TypeScript 但我绝对建议您学习
  • C# 中防止子进程显示 shell 窗口

    我正在使用 ffmpeg 编译视频 我想防止它在执行操作时显示控制台 这是我启动 ffmpeg 的方法 ProcessStartInfo si new ProcessStartInfo si Arguments string Format
  • 编写自定义 webpack 解析器

    我计划使用一组更复杂的约定来将资源导入到我的 webpack 项目中 所以我正在尝试编写一个插件 该插件应该重写请求的模块定位器的部分 然后将其传递给解析器瀑布 https webpack js org development how to
  • ghc7.02 上的 runhaskell 错误

    我在 ghc7 0 2 上创建了一个 yesod 应用程序 当我使用命令时runhaskell devel server hs运行应用程序时 发生错误 GHCi runtime linker fatal error I found a du
  • 如何获取两个节点之间的最小路径的权重?

    我有一个Python 中的networkx 图 带有加权边 我想获得两个节点之间的最小路径的权重 目前 我从 nx shortest path 实现中获取最短路径中的节点 然后迭代每对并对每对节点之间的权重求和 shortest path
  • 为什么启用自动刷新后使用空打印?

    我在一段代码中发现了类似的东西 use IO Handle autoflush STDOUT 1 print 打印 的目的是清空可能已满的缓冲区吗 The print强制立即输出缓冲区中的所有文本 来自先前的打印 该代码基本上禁用缓冲并刷新
  • 在数据表过滤器表达式中转义字符的正确方法

    我想知道是否有一个函数可以正确转义过滤器表达式的字符串文字 例如 DataTable Select String Format name 0 MyName 如果 MyName 包含 或许多其他关键字符 则会生成异常 这微软文档 http m
  • 我可以在 VS 2008 的 Windows 窗体设计器中将默认修饰符从 Friend 更改为 Private 吗?

    当我使用 C 在 Visual Studio 中开发 Windows 窗体应用程序时 添加到窗体的每个控件默认标记为private 这就是我想要的 使用 VB NET 时 每个控件默认标记为Friend 相当于internal在 C 中 即
  • 为什么 jQuery .css('background-color') 返回 rgba(0,0,0,0) 表示“透明”?

    我这里有一个盒子 http jsfiddle net U68p3 2 http jsfiddle net U68p3 2 具有透明背景 当我用 jQuery 的 css background color 读取背景时 它返回 rgba 0 0
  • PHP Elastic Search 过滤查询字符串搜索

    所有人都希望使用过滤查询 其中结果应包含来自 query string 以及应用的 term filter 的数据 GET blog search query filtered query query string fields descr
  • 如何在Prestashop的产品列表中一次显示含税和不含税的产品价格?

    在产品列表中 我需要一次显示含税和不含税的产品价格 我使用的是 Prestashop 1 6 版本 现在产品列表中显示的是含税价格 我也想显示不含税的价格 我怎样才能做到这一点 我已经寻找解决方案 但无法找到适合我的工作解决方案 找到以下块
  • 仅一个循环的排序和非排序排列

    我想按照给定长度的字典顺序对一个周期的排列进行排名和取消排名 具有一个循环的排列是您可以在此循环中访问每个元素的位置 p 2 3 1 是一个循环的排列 排名1 p 3 1 2 也有 1 个循环 但等级为 2 因为排列在字典顺序上比第一个大