String 二元序列子群组合

String 二元序列子群组合,string,algorithm,combinations,permutation,sequences,String,Algorithm,Combinations,Permutation,Sequences,给定带有n+1s和m-1s的序列a1a2….a{m+n},如果对于任何1=限制平行路数的路径。 某些序列被双重排除。这个问题更适合数学堆栈交换(迁移太慢了,所以重新发布并删除这个)。这个问题似乎离题了,因为它是关于组合数学的,而不是关于编程的。

给定带有
n
+1s和
m
-1s的序列
a1a2….a{m+n}
,如果对于任何
1=
,即

a1 >= 0
a1+a2>=0
a1+a2+a3>=0
...
a1+a2+...+a_{m+n}>=0
然后,满足要求的序列号为
C(m+n,n)-C(m+n,n-1)
,其中第一项为序列总数,第二项为小于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 

我觉得它可以用单侧subsum问题得到类似的结果,但是数字
C(m+n,n)-2*C(m+n,n-1)
肯定是不正确的。有什么想法吗?

线索:第一种情况是从(0,0)点到(n+m,n-m)点的许多路径(带+-1步),其中路径永远不会低于零线。(类似于括号对的加泰罗尼亚数字,但无平衡要求n=2m)
所需的公式是一定数量的(+-1)条路径,这些路径永远不会超过(n-m)条线。可以得到递归公式。我希望它有一个简洁的公式

如果在NXM网格上考虑格路径,其中水平步长为+1,垂直步长为-1,那么我们需要用(N-M)基< /P>限制平行路数的路径。


某些序列被双重排除。这个问题更适合数学堆栈交换(迁移太慢了,所以重新发布并删除这个)。这个问题似乎离题了,因为它是关于组合数学的,而不是关于编程的。