把底边贴着第 x 行底边放置的芯片 称为第 x 行芯片
由于芯片长度只有 3, 所以第 x 行芯片的放置只受 x-1行 和 x-2 行放置情况的影响
同时由于一旦 方格 (x-1, y)被黑色记号或其他芯片 占据,则方格(x-2,y)即便空闲对第 x行芯片的放置也毫无意义
所以,只需记录的状态只有:
意味着对于 I 层 其状态 J, 保存著 II-1 层 芯片的放置方法,
所以我们通过 dp(IJ)更新 I+1 层时,同样要更新 I+1 的状态信息 K 其保存着 I+1, I层信息
状态 dp(i,j)表示 前 i 层 状态为 J 的朂大芯片数量
情况一 当前列y 不放,从 y+1 列开始考虑
情况三 当前三列(y,y+1,y+2)合法,放 2*3 芯片 更新 I+1 层状态,再去考虑 y+3列
叧处理列的组合问题需要 递归DFS,通过回溯来解决 另外,对于黑点我们其实可以合并到 芯片占据的类型中去,
而不需要单独处理这樣就能同过 I层的放置序列 P(p1,p2,...,pm),I+1层的放置序列Q (Q1Q2,。Qm),来决策了
求几道关于C语言的填空题1. 在计算机中,一个字节所包含二进制位的个数是__________在Tubro C中,短整形数据包括__________个字节整形数据是__________个字节,实数是__________个字节字符是__________个字节。 3.已知ab,c的值均为5;表达式 函数可以有返回值也可以没有如果确定没有返回值,可以在函数头加__________说明是没有返回值的空函数如果没有说明函数類型,则函数返回值的类型是__________ 11. 链表可以__________分配存储空间。 谢谢大家回答
免费查看千万试题教辅资源