[PKU 2411]Mondriaan's Dream(状压DP)

[题目大意]

有一个m*n的正方形网格,让你用1*2的骨牌覆盖满这个网格,并且不允许重叠,求方案个数。

[题目分析]

再经典不过的一道状压DP覆盖模型的题目了。这个题很容易想出这样一个方程:

f[i,j]表示前i-1行盖满,第i行使用j这种状态的方案个数。

F[I,J]:=Sum{F[I-1,K]} (K状态能导出J状态)

现在最麻烦的地方变成了,如何确定一个状态I可以由哪几个状态推出来,并且这些状态都是什么。

这个就是DFS了。

一共是几中情况,如果没有空位,就过去,如果有空位,那就放。

放有两种情况:

情况1:如果只有一个空,那就只能竖着放一个。

情况2:如果有两个空,那就可以用横着放一个填满上一行,这样的方案不变 。要么就是直接方一个,继续进行。

[代码]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值