0

问题描述: 一组包含 N 个整数的列表,i1,i2,....,iN0<= i1<=i2<=i3<=....<=iN <=M一个整数 开始0<=i1<=M,并重复添加一个大于或等于最后添加的整数的整数。添加最后一个整数以获得最终列表集时,索引从0 to BinomialC[M+N,N)]-1.

For example, for M=3, i1=0,1,2,3 

所以列表是

{0},{1},...,{3}. 

添加另一个整数i2>=i1将导致

{0,0},{0,1},{0,2},{0,3},
{1,1},{1,2},{1,3},
{2,2},{2,3}
{3,3}

带索引

0,1,2,3,
4,5,6,
7,8,
9.

这个索引可以用 i1,i2,...,iN 和 M 来表示。如果条件 >= 不存在,那么它就是i1*(M+1)^(N-1)+i2*(M+1)^(N-2)+...+iN*(M+1)^(N-N). 但是,在上述情况下,由于限制,指数出现了负向变化。例如,N=2,移位为 -i1(i1+1)/2,索引为i = i1*(M+1)^1 + i2*(M+1)^0 -i1(i1+1)/2.

问题: 有谁特别是有数学背景的人知道如何为一般的 N 元素情况编写索引?还是只是最后的表达?任何帮助将不胜感激!谢谢!

4

0 回答 0