状压例题(广场铺砖)

广场铺砖

有一个W行H列的广场,需要用1*2小砖铺盖,小砖之间互相不能重叠,问有多少种不同的铺法?
只有一行2个整数,分别为W和H,(1<=W,H<=11)

输出格式

只有1个整数,为所有的铺法数。

样例数据

input

2 4
output

5

数据规模与约定

样例解释:

时间限制:1s
空间限制:256MB


一开始看到这道题的时候,其实会想到的就是搜索,但是!!!!!

因为w,h<=11,很容易想到采用搜索的方法,可以采用深搜或宽搜均可。
尽管w,h<=11,不很大,但是用1*2的砖铺,深度最大可达到11,这样,如果采用深搜,对于每一层都需要回溯,时间复杂度也很高。
如果采用宽搜,每一个点都有2种铺法,因此可以扩展出2个结点,要求所有的解,必须扩展全部树结构,如果11层结点,是个完全二叉树,结点数量可达211*11 =2121 ,无论空间和时间都难以承受。
因此我们需要采用其他方法。

所以需要用到状态压缩由题意易得,铺的地砖,只会对这层或者下层的地砖有影响;就是说,第i行就表示第i个阶段的状态&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值