4xN 多米诺骨牌的组合数量

2023-12-09

我想找到 4 x N 区域(4 个单位宽度和 N 个单位高度,N ≥ 1)多米诺骨牌砖的可能不同组合的数量使用动态规划 .

多米诺骨牌的尺寸为 2x1,例如

==

对于水平和

|
|

对于垂直砖。

Now,

示例 4x1(两块多米诺骨牌叠在一起)

====

4x2 砖块配置示例(共 5 个)

1)

||||
||||

2)(转动右边两块砖)

||==
||==

3)

|==|
|==|

4)

====
====

5)

==||
==|| 

迄今为止已知的独特组合数量

4x1 : 1 possibility
4x2 : 5 possibilites
4x3 : 11 possibilites
4x4 : 36 possibilites

解决一个更普遍的问题。求平铺 4×N 网格的方法数,其中顶行中的某些位置可能被占据。将每个位置与 2 的幂相关联,最左边对应 1,第二个 2,第三个 4,最右边 8。让T(N,k)是 4×N 网格的平铺数量,其中位置对应于k最上面一排已经被占用了。k == 0表示没有占据位置,k == 6表示两个中间位置被占用 (6 = 2 + 4) 等等。

然后找到转换,当填充顶行的剩余部分时,下一行中的哪些模式可以通过多少种方式到达?

例如,如果中间两个位置被占据,则填充顶行剩余部分的唯一方法是在最左和最右位置垂直放置多米诺骨牌,从而导致

|xx|
|  |

以及占据下一行中的两个最外侧位置的配置,对应于1+8 = 9, so T(N,6) = T(N-1,9)。而对于k == 9,我们从看起来的情况开始

|  |

我们有两种可能性,

|==|     ||||
          ||

我们可以通过水平放置一个多米诺骨牌来填补间隙,让下一行完全自由,或者垂直放置两个多米诺骨牌,占据下一行的两个中间位置,所以

T(N,9) = T(N-1,0) + T(N-1,6)

使用这些转换来构建一个表T(n,k).

你想要找到的值是T(N,0).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4xN 多米诺骨牌的组合数量 的相关文章

  • 神经网络的层和神经元

    我想更多地了解神经网络 我正在开发一个 C 程序来制作神经网络 但我坚持使用反向传播算法 很抱歉没有提供一些工作代码 我知道有很多库可以用多种语言创建神经网络 但我更喜欢自己制作一个 关键是我不知道要实现特定目标 例如模式识别或函数近似或其
  • 处理流星中的长服务器端计算

    我正在使用 jimp https www npmjs com package jimp https www npmjs com package jimp 在meteor JS中生成图像服务器端 换句话说 我正在使用递归算法 计算 图像的像素
  • 从原点开始在离散 2D 网格上迭代向外螺旋的算法

    例如 这是预期螺旋的形状 以及迭代的每个步骤 y 16 15 14 13 12 17 4 3 2 11 18 5 0 1 10 x 19 6 7 8 9 20 21 22 23 24 其中线条是 x 轴和 y 轴 以下是算法每次迭代 返回
  • 线段树java实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 你知道 二进制 的良好实现吗线段树 http en wikipedia org wiki Segmen
  • 定点数学比浮点运算快吗?

    多年前 即 20 世纪 90 年代初期 我构建了图形软件包 该软件包基于定点算术和预先计算的 cos sin 表格以及使用牛顿近似方法进行 sqrt 和对数近似的缩放方程来优化计算 这些先进技术似乎已经成为图形和内置数学处理器的一部分 大约
  • “包含字符串”的快速索引

    在我的应用程序中 我有多达数百万个短字符串 大部分短于 32 个字符 我想实现一个带有附加列表的搜索框 该列表仅包含包含在搜索框中输入的整个字符串的元素 如何预先建立索引来快速找到此类字符串 所有排序的 STL 容器都会检查整个字符串 对于
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 如何求两个地点的经纬度距离?

    我有一组位置的纬度和经度 怎么找distance从集合中的一个位置到另一个位置 有公式吗 半正矢公式假定地球是球形的 然而 地球的形状更为复杂 扁球体模型会给出更好的结果 如果需要这样的精度 你应该更好地使用文森特逆公式 See http
  • 如何在C中实现带连分数的自然对数?

    这里我有一个小问题 根据这个公式创建一些东西 这就是我所拥有的 但它不起作用 弗兰基 我真的不明白它应该如何工作 我尝试用一 些错误的指令对其进行编码 N 是迭代次数和分数部分 我认为它会以某种方式导致递归 但不知道如何 谢谢你的帮助 do
  • 如何光栅化旋转矩形(通过 setpixel 在 2d 中)

    我有四个 2d 顶点 A B C D 的旋转矩形 我需要在像素缓冲区中 有效地 光栅化 绘制它 使用 setpixel x y 颜色 怎么做 我正在尝试使用一些代码 例如 convertilg a b c d do up down left
  • 求先递增后递减列表的最大值和最小值

    我尝试用谷歌搜索这个问题 但没有取得太大成功 我确信这个问题或类似问题有一个技术名称 但我似乎找不到答案 给定一个列表L整数 即严格递增 然后严格递减 找到该列表的最大值和最小值 例如 L可能 1 2 3 4 5 4 3 2 or 2 4
  • 无法理解Peterson算法的正确性

    我在这里讨论彼得森算法的一个场景 flag 0 0 flag 1 0 turn P0 flag 0 1 turn 1 while flag 1 1 turn 1 busy wait
  • 用于查找最近邻居的空间划分算法如何工作?

    为了找到最近的邻居 空间分区 http en wikipedia org wiki Nearest neighbor search Space partitioning是算法之一 它是如何工作的 假设我有一组 2D 点 x 和 y 坐标 并
  • 当满足动态条件时退出递归函数

    使用来自的函数生成汉明距离 t 内的所有比特序列 https stackoverflow com questions 40813022 generate all sequences of bits within hamming distan
  • 数组所有可能的组合

    我有一个字符串数组 ted williams golden voice radio 我希望这些关键字的所有可能组合采用以下形式 ted williams golden voice radio ted williams ted golden
  • Java 中旅行商问题的暴力算法

    我正在学校的数学课上做一个项目 我选择做旅行商问题 这是我一直想进行更多研究的问题 但是 我的暴力求解算法遇到了问题 请前往底部更新查看最新版本代码 如果您知道旅行推销员问题是什么 请跳过本段 尽可能概括地说 TSP 是这样的 您是一名推销
  • 用于在链表中查找结点的生产代码

    我在一次采访中被问到这个问题 我被要求编写代码 用于在 O 1 空间和线性时间的生产环境中在链表 其形式为 Y 形式 双臂不一定相等 中查找结点 我想出了这个解决方案 我以前在某处见过 1 Measure lengths of both l
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 高度并行化的Levenshtein距离算法

    实际上 我必须实现一个字符串比较 最后得到匹配百分比 不仅仅是布尔结果匹配 不匹配 为此 我找到了 Levenstein 距离算法 但现在的问题是性能 例如 我有 1k 个字符串需要相互比较 现在大约需要 10 分钟 对于每个算法 我已经并
  • 使用递归返回嵌套列表中第二小的数字

    我必须归还第二小的使用递归的 python 列表中的数字 以及no loops 我所做的是创建一个辅助函数 它返回列表中 最小 第二小的 值的元组 然后我只取tuple 1 in my second smallest func def s

随机推荐

  • cPickle非常大量的数据

    我有大约 80 万张 256x256 RGB 图像 总计超过 7GB 我想将它们用作卷积神经网络中的训练数据 并希望将它们及其标签放入 cPickle 文件中 现在 这占用了大量内存 以至于需要与我的硬盘内存进行交换 并且几乎耗尽了所有内存
  • Gradle 中的 JUnit 监听器配置

    我是 Gradle 的新手 拥有自定义 JUnit Listener 它读取自定义注释数据并生成报告 需要将其配置为 Gradle 的一部分 无论如何 是否可以在 Gradle 4 4 中配置以下 Surefire 插件
  • 为什么将包含 Arc 的 self 移动到新线程时会出现“同步不满足”错误?

    我有一个包含一个结构Arc
  • “取消引用类型双关指针将违反严格别名规则”警告

    我使用将 enum 转换为 int 的代码 像这样的东西 enum foo foo foobar int pi reinterpret cast
  • Python - 读取文件并用分隔符分隔行的最佳方法

    读取文件并按分隔符分隔行的最佳方法是什么 返回的数据应该是元组列表 这个方法能打败吗 这可以更快地完成 使用更少的内存吗 def readfile filepath delim with open filepath r as f retur
  • Clang:如何检查是否执行了 LTO

    对于海湾合作委员会来说 这answer告诉我们如何验证是否执行了链接时优化 对于 clang 我看不到任何类似于 gnu lto 更具体地说 我有一个二进制文件 我非常确定 LTO 应该有显着的好处 但我什么也没看到 我想知道 cmake
  • 如何正确实现其他实体对Identity user的引用?

    我正在使用 Identity 它有自己的上下文 public class ApplicationUser IdentityUser some custom fields public class IdentityContext Identi
  • 在 Crystal Report 末尾添加附加页面

    我有一份订单报告 我想在末尾添加一个附加页面 说明订单的条款和条件 有人能帮我吗 在报表页脚中 将其设置为在打印之前创建一个新页面 在 部分专家 中 选择 报表页脚 gt 分页 选项卡 gt 选中 之前新建页面 复选框 将您的条款和条件放入
  • Plotly Dash - 渐变线

    是否可以使用 Plotly Dash 创建线条颜色渐变的折线图 纯粹为了美观 我尝试使用类似的东西 line color linear gradient 90deg red red 60 white 绘图破折号中的整个图形代码示例 dcc
  • 单击时更改 javafx 按钮颜色?

    我知道我可以使用按下的伪选择器来设置颜色 myButton pressed 问题是 我尝试通过以下方式在代码中覆盖样式表中的 css 背景颜色来做到这一点 myButton setStyle fx background color FFF
  • 如何按顺序迭代Golang中的地图?

    请看下面我的地图 var romanNumeralDict map int string map int string 1000 M 900 CM 500 D 400 CD 100 C 90 XC 50 L 40 XL 10 X 9 IX
  • Facebook getUser() 始终返回 0 [PHP SDK 3.1.1] [重复]

    这个问题在这里已经有答案了 fb php ini set display errors On error reporting E ALL require once facebook src facebook php facebook new
  • 禁用用户主文件夹创建

    当admin用户创建用户时 我自定义代码来打开和关闭 homeFolderCreationEager 但它只能延迟文件夹的创建 当相应的用户登录时 会自动创建该用户的文件夹 我怎样才能防止这种情况发生 任何善意的帮助将不胜感激 如中所述wi
  • 如何解决 java.lang.ClassNotFoundException: org.aspectj.lang.ProceedingJoinPoint 异常?

    大家好 我在运行我的应用程序时在 Spring Boot 上收到以下错误 java lang IllegalStateException Failed to load ApplicationContext at org springfram
  • 如何为jtable固定列设置图像,当我运行时,它仅获取图像路径

    我创建了一个程序来在 jtable 固定列中设置 imageIcon 我创建了一个 jtable 并获取数据库记录 然后将第一列设置为固定列 我在固定列中设置了一个图像图标 当我编译这个程序时 我只得到 imageicon 的路径 而不得到
  • Java 扫描器“倒带”

    我正在使用 Java Scanner 对象来解析文本文件 我需要扫描文件的一部分两次 出于性能原因 这样我就不必暂时存储其内容 因此 是否有一种方法可以将扫描仪 倒回 到特定的文件位置 或者 有没有办法克隆扫描仪 以便我可以独立使用每个实例
  • Haskell Double 除以 Int

    我有下面的代码 问题是我尝试划分Double by an Int factorial Int gt Int factorial 0 1 factorial e e factorial e 1 sumX Double gt Int gt Do
  • 在目标视图控制器 viewWillAppear 中检测向后/弹出导航[重复]

    这个问题在这里已经有答案了 有许多众所周知的解决方案用于检测视图控制器在向后导航过程中何时从屏幕上消失 由UINavigationController 即当视图控制器从导航堆栈中弹出时 换句话说 检测源视图控制器内的向后导航 相反 我需要检
  • 整数问题 Flex

    我对这段代码有疑问
  • 4xN 多米诺骨牌的组合数量

    我想找到 4 x N 区域 4 个单位宽度和 N 个单位高度 N 1 多米诺骨牌砖的可能不同组合的数量使用动态规划 多米诺骨牌的尺寸为 2x1 例如 对于水平和 对于垂直砖 Now 示例 4x1 两块多米诺骨牌叠在一起 4x2 砖块配置示例