如何计算可能的不同序列数?

时间:2019-06-12 09:56:24

标签: algorithm combinatorics

让我们考虑所有N行(从1到N)和M列(从1到M)仅包含0到K-1(含)之间的整数的矩阵。对于每个这样的矩阵A,让我们形成一个序列L [1],L [2],…,L [N + M]

对于每个'i'(1≤i≤N),L [i]是A的第i行中所有元素的最大值。 对于每个'i'(1≤i≤M),L [N + i]是A的第i列中所有元素的最大值。 查找以此方式形成的不同序列的数量。 我的方法是简单的暴力破解。

示例:-N = 2; M = 2; K = 2

答案:-10

所有16种可能的矩阵如下:-

[0,0]

[0,0] =(0,0,0,0)(生成的序列)

[0,0]

[0,1] =(0,1,0,1)

[0,0]

[1,0] =(0,1,1,0)

[0,1]

[0,0] =(1、0、0、1)

[1,0]

[0,0] =(1、0、1、0)

[1,0]

[1,0] =(1,1,1,0)

[1,1]

[0,0] =(1、0、1、1)

[0,0]

[1,1] =(0,1,1,1)

[0,1]

[0,1] =(1、1、0、1)

[1,0]

[0,0] =(1、0、1、0)

[0,1]

[1,0] =(1、1、1、1)

[1,1]

[1,0] =(1、1、1、1)

[1,1]

[0,1] =(1、1、1、1)

[1,1]

[0,1] =(1、1、1、1)

[1,0]

[1,1] =(1,1,1,1)

[1,1]

[1,1] =(1,1,1,1)

1 个答案:

答案 0 :(得分:1)

我会给出一系列提示:

对于给定的矩阵A和关联的L,找到L[1],...,L[N]的最大值(行最大值)和L[N+1],...,L[N+M]的最大值(列最大值)之间的关系。

接下来,尝试证明某个矩阵A实际上可以获得满足这些条件的任何从0到K-1的整数的L序列。

最后,对那些序列进行计数。