poj2411铺砖——状压DP】的更多相关文章

题目:http://poj.org/problem?id=2411 状态压缩,一行的状态记为一个二进制数,从上往下逐行DP,答案输出最后一行填0的方案数. 代码如下: #include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; int h,w,s[2050],ts,up; long long f[15][2050]; void init(…
题目:http://poj.org/problem?id=2411 状压dp.注意一下代码中标记的地方. #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,lm; ][<<],ans; <<]; void pre() { memset(list,,sizeof list); ;i<lm;i++) { ; ,u=i;//////…
题目链接:http://poj.org/problem?id=2411 题意: 给你一个n*m的网格 (1<=n,m<=11) ,往里面铺1*2或2*1的砖块,问你铺完这个网格有多少种不同的方法. 题解: 表示状态: dp[state][i] = num of ways at ith row (1)当前铺到了第i行 (2)在铺第i行之前,第i行已经被占的格子状态为state 如何转移: 对于当前第i行的第j列处,有三种情况: (1)竖着铺.i+1行的第j个位置会被占,在这一行占用了一个宽度,接…
题目链接 题意 用\(1\times 2\)的骨牌铺满\(H\times W(H,W\leq 11)\)的网格,问方案数. 思路 参考focus_best. 竖着的骨牌用\(\begin{pmatrix}0\\1\end{pmatrix}\)表示,横着的骨牌用\(\begin{pmatrix}1&1\end{pmatrix}\)表示. 则对于第\(i\)行,与之相容的第\(i-1\)行的状态需满足: 第\(i\)行是0的位置,第\(i-1\)行必须是1: 第\(i\)行是1的位置,第\(i-1\…
题目链接:http://poj.org/problem?id=3254 题意: 给你一片n*m的耕地,你可以在上面种玉米.但是其中有一些地方是荒芜的,不能种植.并且种植玉米的地方不能相邻.问你在这片地上有多少种种植方案. 题解: 思路:一行一行种 状态表示: dp[state][i] = num of ways at ith row (1)当前种到了第i行 (2)第i行有哪些地方种了玉米,状态为state 如何转移: 约束条件: (1)对于当前行,已经在某些地方种过了玉米,那么在下一行的对应位置…
$11*11$格子板上铺$1*2$地砖方案.以前做过?权当复习算了,毕竟以前学都是浅尝辄止的..常规题,注意两个条件:上一行铺竖着的则这一行同一位一定要铺上竖的,这一行单独铺横的要求枚举集合中出现连续偶数个的1,预处理一下即可.注意数据及时reset. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include…
Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 18096   Accepted: 10357 Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet serie…
状压DP Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series' (where he had to use his toilet paper to draw on, for all of his paper was filled with squares…
没错,这道题又是我从LZL里的博客里剽过来的,他的题真不错,真香. 题目链接:http://poj.org/problem?id=2411 题目大意:给一个n * m的矩形, 要求用 1 * 2的小方块去填充满这个矩形, 有多少种填充方式.(1<=n, m <= 11) 思路: 1.凭借做题的经验,能想到这道题一定是无法用暴力去解决,因为方法数肯定很多,暴力跑不出来. 2.看到这题我想到的是用状态转移,因为大的矩形填充可以由多个小的矩形填充来组成,这是最开始的想法,但是这种想法远远不够. 3.…
Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 17203   Accepted: 9918 Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series…