【问题标题】:Number of binary n x m matrices modulo c, with at most k consecutive number of 1 in each column以 c 为模的 n x m 二进制矩阵的数量,每列最多有 k 个连续的 1
【发布时间】:2014-03-19 20:47:16
【问题描述】:

我正在尝试计算每列中最多 k 个连续值为 1 的 nxm 二进制矩阵的数量。经过一些研究,我发现找到具有 1 列和 n 行的向量就足够了。例如,如果我们有 p 个向量,则所需的矩阵数量为 m^p。 因为 n 和 m 非常大(

【问题讨论】:

  • 我想你的意思是p^m那里
  • 还有k的范围是多少?
  • 是的,你是对的 p^m。 K
  • 在这种情况下,大卫的回答应该是一个值得的方法

标签: algorithm matrix dynamic-programming binary-matrix


【解决方案1】:

有一个 (k + 1) 状态的动态程序(状态 = 之前 1 的数量,从 0 到 k)。长话短说,您可以通过将 k + 1 的 n 次方乘以 k + 1 整数矩阵(例如 k = 4)来快速计算它的大项

1 1 0 0 0
1 0 1 0 0
1 0 0 1 0
1 0 0 0 1
1 0 0 0 0

取模 c 并对第一行求和。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-20
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多