https://www.iarcs.org.in/inoi/online-study-material/topics/dp-tiling.php
上述链接中的第二个问题要求我们使用尺寸为2x1和L形瓷砖的瓷砖填充2xN网格。
我怀疑在g(n)的递归公式中:
g(n) = f(n-1) + h(n-1)
为什么我们不包括底行有n个tile的情况,而且上面的行有n-3个tile?然后我可以简单地将2x1瓦片水平放置在上面的行中并实现状态g(n)。所以我们需要在上面的递归中添加另一个术语。像 -
这样的东西 g(n) = f(n-1) + h(n-1) + x(n-3)
f(n) = f(n-1) + f(n-2) + g(n-2) + h(n-2)
仍然存在。
基本上,我们是不是在研究如何获得状态g(n)
的情况?要获得g(n)
状态,我们要么添加一个L形图块,要查看f(n-1)
,要么在底层添加一个2x1图块并查看h(n-1)
,或者添加一个2x1在顶层中找到并查看x(n-3)
?
答案 0 :(得分:0)
这个案例已经包含在内了。如果您为案例引入了名称t(n)
,那么:
t(n) = g(n-2)
因为如果你想用瓷砖填充这样一个奇怪的网格,你有将一个瓷砖水平放置在最左边的位置,然后你得到一个他们已经有名字的网格。 / p>
因此,如果您引入t(n)
及其对称对应s(n)
,那么
f(n) = f(n-1) + f(n-2) + t(n) + s(n)
t(n) = g(n-2)
s(n) = h(n-2)
这可以立即简化为他们在讨论中所拥有的内容。