查找有序N个元素集的索引

时间:2016-12-29 18:35:47

标签: sequence permutation nested-lists mathematical-lattices

问题描述: 通过以一个整数i1,i2,....,iN开始,并且重复添加一个大于或等于添加的最后一个整数的整数来创建一组具有0<= i1<=i2<=i3<=....<=iN <=M的N个整数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表示。如果条件&gt; =不存在,那么它将只是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元素案例的索引?还是最后的表达?任何帮助都会得到满足! 谢谢!

0 个答案:

没有答案