【发布时间】:2011-01-26 11:03:49
【问题描述】:
每天我都在与算法问题作斗争,并尝试在这里提出我无法回答的问题。对不起,如果我引起任何头痛。总之,
这是滑铁卢大学 ACM 编程竞赛的problem。
您可以用多少种方式将 3xn 矩形与 2x1 多米诺骨牌平铺?
涅槃:闻起来像递归精神
【问题讨论】:
标签: algorithm math dynamic-programming
每天我都在与算法问题作斗争,并尝试在这里提出我无法回答的问题。对不起,如果我引起任何头痛。总之,
这是滑铁卢大学 ACM 编程竞赛的problem。
您可以用多少种方式将 3xn 矩形与 2x1 多米诺骨牌平铺?
涅槃:闻起来像递归精神
【问题讨论】:
标签: algorithm math dynamic-programming
只是对 taskinoor 答案中隐含给出的方程的显式解决方案:
或者
f[n]=((1 + (-1)^n)*((2 - Sqrt[3])^(n/2)*(-1 + Sqrt[3]) +
(1 + Sqrt[3])* (2 + Sqrt[3])^(n/2)))/(4*Sqrt[3])
如果有人在乎的话。
让我们显示 10 个值(奇数 n 没有解){n,f[n]}:
{6, 41.},
{12, 2131.},
{18, 110771.},
{24, 5.75796*10^6},
{30, 2.99303*10^8},
{36, 1.5558*10^10},
{42, 8.08717*10^11},
{48, 4.20377*10^13},
{54, 2.18515*10^15},
{60, 1.13586*10^17}
【讨论】:
您可以使用动态规划来解决这个问题。检查this 以获取可能的解决方案。
【讨论】:
只是关于如何获得显式解决方案公式的说明,诀窍是将其写下来作为矩阵乘法的递归,然后使用矩阵的nth 次方的特征值公式。对于上面的递归,等式是
(不可用)
你可以看到四个特征值出现在贝利撒留的显式公式中
【讨论】: