读书笔记之编程之美 - 4.2 瓷砖覆盖地板

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

用1x2的瓷砖覆盖NxM的地板,只要N和M不都是奇数就行了。

扩展问题最后成了一个类似Fibonacci数列的问题。

对于其他问题,暂时没有找到答案。

用pxq覆盖MxN的地板,首先要保证MxN的面积可以整除pxq的面积,然后如果M可以整除p和q中的一个,N可以整除另一个的话就绝对没问题,否则要看M或N之中的一个是p和q的公倍数,这样还有能覆盖的可能,等等。

状态压缩与动态规划(DP)---编程---瓷砖覆盖地板---POJ2411 一、状态压缩 从状态压缩的特点来看,这个算法适用的题目符合以下的条件: 1.解法需要保存一定的状态数据(表示一种状态的一个数据值) ,每个状态数据通常情况下是可以通过 2 进制来表示的。这就要求状态数据的每个单元只有两种状态,比如说棋盘上的格子,放棋子或者不放,或者是硬币的正反两面。这样用 0 或者 1 来表示状态数据的每个单元,而整个状态数据就是一个一串 0 和 1 组成的二进制数。 阅读详情

相关推荐

状态压缩动态规划 POJ 2411 (编程-瓷砖覆盖地板

题目地址:http://poj.org/problem?id=2411 编程的课后题也有一个和整个题目一样的。(P269)  题目 这个题目的题意很容易理解,在一个N*M的格子里,我们现在有两种类型的 砖块,1 * 22 * 1,问一共有多少种方案,可以将整个N*M的空间都填满。 最简单的例子就是下面的了: 编程中题目: 某年夏天,位于希格玛大厦四层的微软亚洲研究

文西 1万+

编程:第四章 数字之趣 4.2瓷砖覆盖地板

/* 瓷砖覆盖地板: 原来的地板铺有N*M块正方形瓷砖,商店只提供长方形瓷砖,现在一块长方形瓷砖相当于于原来的两块正方形瓷砖,能否用1*2瓷砖覆盖N*M的地板呢 本质: 斐波那契递推数列公式 f(i) = f(i-1) + f(i-2) 分析: N*M的地板有以下几种可能: 1如果N=1,M为偶数的话,显然1*2瓷砖可以覆盖1*M的地板,需要M/2瓷砖 2如果N*M为奇数,也就是N和M

qingyuanluofeng的专栏 1724

编程 4.2 瓷砖覆盖地板 扩展问题

原帖 http://blog.csdn.net/limchiang/article/details/8619611 题意:用 1 * 2瓷砖覆盖 n * m 的地板,问共有多少种覆盖方式? 思路:用2进制的01表示不放还是放,第i行只和i-1行有关,枚举i-1行的每个状态,推出由此状态能达到的i行状态:如果i-1行的出发状态某处未放,必然要在i行放一个竖的方块,所以我对

jeiwt的专栏 2719

瓷砖覆盖问题

瓷砖覆盖问题

Jarvan_Song的博客 1801

瓷砖覆盖地板

问题:能否用1*2瓷砖覆盖N* M的地板 扩展问题:        求用1*2瓷砖覆盖2*M的地板有几种方式?

雪儿的专栏 1330

编程》相关参考资料

转载自:https://blog.csdn.net/wuyuegb2312/article/details/9896831   为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值的文章的链接整理在下面,并附以简单说明。另外,对于一些比较早的资料,对应的是前几版的《编程》;《编程》早起版本错误之多在勘误...

Lxs290598477的博客 335

精选的一些《编程》相关资料

  又要到一年的招聘季了,肯定又有很多人开始啃《编程》了吧。这本书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚(甚至问题叙述模棱两可、被标榜为“鼓励同面试官交流以获得更多细节”);或者扩展问题本身很难,没有给予解答和提示。在我看书并在网络上查到的相关资料中,有很多重复的,也有不少基本没什么价值,有价值的文章是少数。为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值...

weixin_33752045的博客 160

精选一些《编程》相关资料

又要到一年的招聘季了,肯定又有很多人开始啃《编程》了吧。这本书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚(甚至问题叙述模棱两可、被标榜为“鼓励同面试官交流以获得更多细节”);或者扩展问题本身很难,没有给予解答和提示。在我看书并在网络上查到的相关资料中,有很多重复的,也有不少基本没什么价值,有价值的文章是少数。为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值的文

学海无涯 881

求用1×2瓷砖覆盖2×M(M为正整数)的地板的方法数 (第二题)

求用1×2瓷砖覆盖2×M(M为正整数)的地板的方法数,要求给出精确答案.   一块占1列,2块横排占2列: 1和2的组合。 不断增加列数     当M=1时,Method(1)=1;     当M=2时,Method(2)=2; 当M=3时,2+1列 or 1+2横。method(3)=method(2)+method(1)     当M=4时,3+1列 or 2+2横。meth

古影轩 3359

DP(动态规划) 铺瓷砖类问题poj等oj列表

刷完搜索后刷这个! poj 2411 poj 1038 sgu 131 sgu 132 sgu 223 sgu 225 zoj 1346 poj 3254 poj 1185 poj 3311 hdu 3001 poj 2288 zoj 4257 hdu 3681 poj 2430 poj 2436 poj 2541 poj 2836 poj 1699 poj 2288 poj 2688 poj

JayYe的专栏 4259

瓷砖覆盖地板问题

#include #include #include #include using namespace std; #define MAX_ROW 11 #define MAX_STATUS 2048 long long DP[MAX_ROW][MAX_STATUS]; int g_Width, g_Height; bool TestFirstLine(int

Antoine-进步 962

HDU1143(3*N的地板铺1*2的砖)

Tri Tiling Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3004Accepted Submission(s): 1687 Problem Description In how many ways...

weixin_30344795的博客 449

算法练习系列—hiho1048 状态压缩一(铺地砖)

题目地址:http://hihocoder.com/problemset/problem/1048 编程的课后题也有一个和整个题目一样的。(P269)  题目 这个题目的题意很容易理解,在一个N*M的格子里,我们现在有两种类型的砖块,1 * 22 * 1,问一共有多少种方案,可以将整个N*M的空间都填满。 最简单的例子就是下面的了: 编程中题目: 某年夏天,位于

小村长技术blog 5945

用1 ×2瓷砖覆盖8 ×8 的地板,有多少种方式呢?

这个题在POJ上有,地址是:http://acm.pku.edu.cn/JudgeOnline/problem?id=2411 以前做过这个题,是用状态DP来做的。大致说下方法,DP需要用到两维,一维表示到达哪一行,另一维表示这一行的状态。 用二进制来表示 假定方格为N行M列。 表示方法如下: f[i][j]。 ---- i表示第i行,j表示该行的二进制状态。而f[i][j]则记录由

china_daywalker的专栏 3805

【矩阵快速幂】【状态压缩】【动态规划】lydsy4000 [TJOI2015]棋盘

4000: [TJOI2015]棋盘 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 643 Solved: 314 [Submit][Status][Discuss] Description Input 输入数据的第一行为两个整数N,M表示棋盘大小。第二行为两个整数P,K, 表示攻击范围模板的大小,以及棋子在模板中的位置。接下来三行, 每行P个...

BUAA_Alchemist的博客 323

【动态规划】覆盖墙壁

这道题,标程的方法很简单,枚举最后一列,分成3种情况,即上,下,上下。 只有上和只有下的情况是完全对称的,所以简化成一种情况,直接乘以二就够了。分别由两种方法递推过来,如上左图。 上下都有的情况可以由四种方法递推过来,如上右图。 只有上下的我们用g[i]表示,上下都有用f[i]表示。 明显,f[i] = f[i-1]+f[i-2]+2*g[i-1]。

wu_yihao的专栏 1058

动态规划之状态压缩dp入门

动态规划之状态压缩dp入门

努力努力再努力x 537

状态压缩动态规划

引入 首先来说说“状态压缩动态规划”这个名称,顾名思义,状态压缩动态规划这个算法包括两个特点,第一是“状态压缩”,第二是“动态规划”。 状态压缩: 从状态压缩的特点来看,这个算法适用的题目符合以下的条件: 1.解法需要保存一定的状态数据(表示一种状态的一个数据值),每个状态数据通常情况下是可以通过2进制来表示的。这就要求状态数据的每个单元只有两种状态,比如说棋盘上的格子,放棋子或者...

我的ACM空间 518
上一篇: 读书笔记之编程之美 - 4.1 金刚坐飞机问题
下一篇: 又一种版本控制软件 - Perforce
Erorr
博客等级 码龄20年 90粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值