【问题标题】:Number of matrices with integer values具有整数值的矩阵数
【发布时间】:2012-12-27 21:12:24
【问题描述】:

我必须在左上角的条目中找到包含 1 的 N X M 矩阵的数量,所有条目都是整数值,并且相邻条目最多相差 1,知道 N 最多为 5,M 可以达到 10^ 9.显然回溯算法不够快,我认为可以使用矩阵求幂来解决这个问题,但我对这一点没有任何想法。 提前致谢!

【问题讨论】:

  • 我不认为矩阵乘法是要走的路。我正在按照动态编程的思路思考。如果有任何机会获得封闭式公式或半著名数字系列(我认为半著名数字系列的可能性很大),您应该在 Mathematics 而不是这里询问。
  • What have you tried?你用的是什么语言?
  • 糟糕,我错过了“N 最多为 5”。这有点......简化了事情,矩阵乘法是要走的路。你试过什么?
  • 我有一个为前 2 列生成可能性的想法,然后尝试创建一个代表列的状态并在此使用矩阵乘法。

标签: matrix-multiplication counting


【解决方案1】:

每一行的格式如下:

x (y=x+1/x/x-1) (z=y+1/y/y-1) ...

x 的值并不重要,因此(对于 N = 5)每行有 3^4 = 81 种可能性。

您可以从这里编写一个简单的程序来确定当前行中这 81 种可能性中的每一种可能性在下一行中出现的频率。

从那里你应该能够找出一个公式,如果有一个简单的公式,否则你有一个 O(10^9) 算法,这至少比你开始的更好。

“最多”和“可以达到”确实有点混淆算法。

【讨论】:

    猜你喜欢
    • 2018-05-23
    • 2012-10-11
    • 1970-01-01
    • 2015-03-02
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多