砖在墙上的排列方式有几种?

Posted

技术标签:

【中文标题】砖在墙上的排列方式有几种?【英文标题】:Total number of ways in which the bricks can be arranged on the wall? 【发布时间】:2021-12-18 08:07:55 【问题描述】:

假设我们有一面n*3大小的墙,大小为1*32*33*3的砖块,砖块可以横向和纵向放置,总共有多少种排列方式用砖填墙?这个问题的递归关系是什么?

我认为是T(n) = T(n-1)+ 2T(n-2)+ 7T(n-3),因为对于T(n-2),我们有1x3+1x32x3 所以2T(n-2)。对于三个,1x3+1x3+1x31x3+2x32x3+1x3 和水平相同,加上3x3 所以我们有7dp(n-3),这是正确的吗?

谢谢!

【问题讨论】:

【参考方案1】:

这几乎是正确的,但它高估了几个术语。例如,T(n-2) 的解 S 可以在其后添加两个垂直的 1-bricks 以成为 T(n) 的解。如果您在 S 之后添加一个 1-brick,它是 T(n-1) 的解决方案,因此您的 T(n-2) 和 T(n-1) 项中计算了 S + 两个 1-brick 的排列。

相反,想想 T(n) 的解 S 如何在右侧结束。您可以证明 S 的 (n-1) x 3 初始段对 T(n-1) 有效当且仅当 S 的最后一个块是垂直 1 块。 否则,S的(n-2) x 3初始段何时是S的最长有效初始段?恰好当 S 以垂直 2 块结束时(如果它以两个垂直 1 块结束,则最长有效初始段的长度为 n-1,我们已经计算过了)。

最后的情况是 n-3:计算出最后一个3 x 3 空间有多少种可能的配置,使得 S 的最长有效初始段的长度为 n-3。作为提示:答案,称为“c”,小于 7,正如您所展示的,它是 3 x 3 空间的所有配置的计数。这些为您提供了递归系数,T(n) = T(n-1) + T(n-2) + c*T(n-3),以及 n = 1、2 和 3 的适当基本情况。

【讨论】:

谢谢!我认为对于 T(n-3) 我们只能使用水平砖,总共有 4 种方式来填充3X3:111、12、21 和 3。所以c = 4

以上是关于砖在墙上的排列方式有几种?的主要内容,如果未能解决你的问题,请参考以下文章

1234这4个数字一共有多少种排列方式,分别写出来

python 获取列表元素有几种方式,常见的是哪种?

android一个页面可以有几种布局方法吗

Spring有几种配置方式 ?

面试常考算法题---回溯法(学习笔记)

angularjs有几种启动方式