二进制序列子序列组合

时间:2014-04-27 02:25:18

标签: string algorithm combinations permutation sequences

给定a1a2....a_{m+n} n + 1s和m -1s的序列,如果对于任何1=< i <=m+n,我们有 sum(ai) >=0,即,

a1 >= 0
a1+a2>=0
a1+a2+a3>=0
...
a1+a2+...+a_{m+n}>=0

那么满足要求的序列的数量是C(m+n,n) - C(m+n,n-1),其中第一项是序列的总数,第二项是指那些子和&lt; 0

我想知道双侧序列号是否有类似的公式:

a1 >= 0
a1+a2>=0
a1+a2+a3>=0
...
a1+a2+...+a_{m+n}>=0 
a_{m+n}>=0
a_{m+n-1}+a_{m+n}>=0
...
a1+a2+...+a_{m+n}>=0 

我觉得它可以与单侧子系统问题类似地得出,但数字C(m+n,n) - 2 * C(m+n,n-1)肯定是不正确的。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

线索:第一种情况是从(0,0)到(n + m,n-m)点的多条路径(+ -1步),其中路径永远不会低于零线。 (与括号对的加泰罗尼亚数字一样,但没有平衡要求n = 2m) enter image description here
期望的公式是许多(+ -1)路径,它们从不超过(n-m)线。可以获得递归公式。我希望它存在紧凑的公式。

如果我们考虑在nxm网格处的网格路径,其中水平步长为+1,垂直步长为-1,那么我们需要一些由平行四边形限制的路径(n-m)base

enter image description here