【发布时间】:2015-10-04 13:36:58
【问题描述】:
我学过数学,我想出了这个问题。
有两个排列 A 和 B 以及一个整数 M。
如果我们可以从 A 到 B 进行以下操作,我们说 A 几乎等于 B。
-1 选择排列 A 的 M 长度段。
-2 向右循环移位。(所以,如果子段是“1 2 3 4 5”(m=5),那么在这个操作之后,它将是“5 1 2 3 4”。)
问题:A几乎等于B吗?
我认为这是典型的,但我找不到答案。 如何解决?(不是蛮力!)
排列中的元素数
例子
一个“1 2 3”
B“2 3 1”
m=2
回答 是
解释一下:“1 2 3”->“2 1 3”->“2 3 1”
【问题讨论】:
-
猜想:如果排列的长度为m,则检查它们是否相互旋转。否则,如果 m 是奇数,则检查它们是否具有相同的奇偶性。如果 m 是偶数且小于排列长度,则它们总是几乎相等。
标签: algorithm math combinations permutation