POJ 2411 Mondriaan's Dream 状态压缩
来源:互联网 发布:c语言的编程环境 编辑:程序博客网 时间:2024/06/10 03:20
题意:
用1*2的矩形铺满n*m的大矩形有几种方式
分析:
n,m很小可以状态压缩我们发现第i行的情况只和i-1行和i行有关判断一下爆搜一下
ACcode:
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <vector>#define maxn 205#define inf 0x3f3f3f3f#define ll long longusing namespace std;int n,m;ll dp[20][1<<11],tmp;void dfs(int state,int x,int pos){ if(pos==m){ dp[x][state]+=tmp; return ; } dfs(state,x,pos+1);///竖着 if(pos<=m-2&&!(state&1<<pos)&&!(state&1<<pos+1))dfs(state|1<<pos|1<<pos+1,x,pos+2);///横着}int main(){ while(scanf("%d%d",&n,&m)&&n+m){ if(n*m&1){cout<<"0\n";continue;} memset(dp,0,sizeof(dp)); tmp=1; dfs(0,1,0); for(int i=2;i<=n;++i) for(int j=0;j<1<<m;++j) if(dp[i-1][j])tmp=dp[i-1][j],dfs(~j&((1<<m)-1),i,0); cout<<dp[n][(1<<m)-1]<<'\12'; } return 0;}
0 0
- POJ 2411 Mondriaan's Dream 状态压缩
- POJ 2411 Mondriaan's Dream(状态压缩)
- POJ 2411 Mondriaan's Dream 状态压缩
- POJ 2411 Mondriaan's Dream 状态压缩(DP)
- POJ 2411 Mondriaan's Dream 状态压缩DP
- POJ 2411 Mondriaan's Dream 状态压缩dp
- POJ 2411 Mondriaan's Dream(DP---状态压缩)
- poj 2411/hdu 1400 Mondriaan's Dream 状态压缩dp
- poj 2411 Mondriaan's Dream (状态压缩dp 入门)
- HDOJ 1400 & POJ 2411 - Mondriaan's Dream 状态压缩DP
- poj 2411 Mondriaan's Dream(状态压缩dp)
- [poj 2411]Mondriaan's Dream[状态压缩DP]
- POJ 2411 Mondriaan's Dream (状态压缩DP)
- poj 2411 Mondriaan's Dream(状态压缩DP)
- poj 2411 Mondriaan's Dream 状态压缩DP
- 状态压缩DP POJ 2411 Mondriaan's Dream
- POJ-2411 Mondriaan's Dream 状态压缩DP
- POJ 2411 Mondriaan's Dream (状态压缩dp)
- L2-021. 点赞狂魔
- bzoj4843
- VR系列——Oculus Rift 介绍指南:四、Oculus Rift的硬件设置
- 找出数组中出现次数最多的数字&找出数组中只出现一次的数字
- DOM4J XML解析
- POJ 2411 Mondriaan's Dream 状态压缩
- 为bookStore添加权限【动态代理和注解】
- fl2440 内核移植
- tkinter的variable属性
- 数组拷贝操作 从数组默认下标 到拷到我指定的长度
- 数据库中常用的锁及其应用场景
- (转载/侵删)mvc与三层结构终极区别
- ElasticMaterial.cs
- Sort operation used more than the maximum 33554432 bytes of RAM