完美的阵列数

时间:2014-02-23 06:18:34

标签: arrays algorithm

给定一个由n个整数A [1],A [2],...,A [n](0≤A[i]≤1)组成的数组。

我们可以进行一项操作:

选择一个整数i(1≤i≤n - k + 1)然后从值中减去1:A [i],A [i + 1],...,A [i + k - 1]。

如果可以进行某些操作,则称为数组是完美的,我们可以获得仅包含零的数组。

我们需要找到有多少长度为n的完美阵列?

示例:假设我们有n = 5且k = 2,那么这里的答案将是8

1 个答案:

答案 0 :(得分:0)

这是一个PnC问题。答案是

Σ i = (0 to p) [(n-i*k+i)!/(i!X(n-i*k)!)]

如上所述不太清楚。

p    
____
\       (n- i*k + i)!
 \     _______________
 /      i! X (n - k*i)!
/__    
i = 0

其中p=floor(n/k)