大小为 n 的数组 A 最多可以进行多少次反转?
What is the maximum number of inversion an Array A of size n can have?
我们有一个数组A[1...n]。反转是当 i < j 但 A[i] > A[j] 时。
我想要一种方法来描述长度为 n 的数组 A 可以具有的最大反转次数(考虑起始索引是 1 而不是 0)。
我试图找到一个模式,但似乎无法为 n 想出一个通用公式。
at n=3 we have 3 possible inversions
at n=4 we have 7 possible inversions
at n=5 we have 10 possible inversions
at n=6 we have 15 possible inversions (10 + 5)
at n=7 we have 21 possible inversions (15 + 6)
at n=8 we have 28 possible inversions (21 + 7)
似乎有重复出现 nb inversions for n = nb inversion for n-1 + (n-1)
,但似乎不适用于 n=3,4,5
。
以倒序排列的数组已达到倒序的最大次数。
这样的数组包含
(n-1) + (n-2) + (n-3) +.. + 1 = n*(n-1)/2
倒数(等差级数的公式,所谓triangular numbers
)
请注意 at n=4 we have 7
是错误的 - 只有 6 个。
我们有一个数组A[1...n]。反转是当 i < j 但 A[i] > A[j] 时。 我想要一种方法来描述长度为 n 的数组 A 可以具有的最大反转次数(考虑起始索引是 1 而不是 0)。
我试图找到一个模式,但似乎无法为 n 想出一个通用公式。
at n=3 we have 3 possible inversions
at n=4 we have 7 possible inversions
at n=5 we have 10 possible inversions
at n=6 we have 15 possible inversions (10 + 5)
at n=7 we have 21 possible inversions (15 + 6)
at n=8 we have 28 possible inversions (21 + 7)
似乎有重复出现 nb inversions for n = nb inversion for n-1 + (n-1)
,但似乎不适用于 n=3,4,5
。
以倒序排列的数组已达到倒序的最大次数。
这样的数组包含
(n-1) + (n-2) + (n-3) +.. + 1 = n*(n-1)/2
倒数(等差级数的公式,所谓triangular numbers
)
请注意 at n=4 we have 7
是错误的 - 只有 6 个。