题解-铺瓷砖

这篇博客介绍了一个关于如何使用状态压缩动态规划(状压DP)来解决铺1×2瓷砖到n×m地面的方案数问题。博主通过讨论运算符的使用,如与(&)、或(|)、异或(^)、非(!),并提供了题目分析和代码实现,解释了如何判断横铺和竖铺的状态,并避免DFS导致的超时问题。
摘要由CSDN通过智能技术生成

Description

今天小信装修新家,给家里买了一种 1×2的长方形(如图1)新瓷砖。小信是个懂得审美的人,毕竟人生除了金钱,还有诗和远方。这个时候小信就在想,这种长方形的瓷砖铺到一个 n×m 的地面上有多少种方案(如图2:是 4×4 地面的一种方案)?

Input

输入两个整数 n,m,(1≤MIN(n,m)≤10, 1≤MAX(n,m)≤100)。

Outputa

输出方案总数(最后结果模 10^9 + 7)。
Sample Input 1
2 2
Sample Output 1
2

解析讲解

这道题的数据与题干很明显就会联想到状态压缩(或状压DP)。

状压DP

状压DP实际就是暴力枚举,时间空间消耗少,将状态压缩存进int类型中,比如可以处理一些麻烦的题,细节麻烦的问题中。用例子来讲,01背包i,j就是时态的个更新,主要的还是二进制的问题,‘0’表示不选,‘1’反之。连成串后再转成十进制数。

运算符

在之前写过一篇运算符的概括,单目运算符,双目运算符,三目运算符都有,大家可一去看一下:https://blog.csdn.net/e

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值