poj 3797 Tiling a Grid With Dominoes 状压dp

原创 2015年11月18日 16:28:14
//poj 3797
//sep9
#include <iostream>
using namespace std;
int dp[2][128];
int n,m;
int solve()
{
	if(m>n)
		swap(m,n);	
	memset(dp,0,sizeof(dp));
	int *crt=dp[0],*nxt=dp[1];
	crt[0]=1;
	for(int i=n-1;i>=0;--i)
		for(int j=m-1;j>=0;--j){
			for(int s=0;s<(1<<m);++s){
				nxt[s]=0;
				if((s>>j)&1)
					nxt[s]=crt[s&(~(1<<j))];
				else{
					if(j+1<m&&!((s>>(j+1))&1))
						nxt[s]+=crt[s|(1<<(j+1))];
					if(i+1<n)
						nxt[s]+=crt[s|(1<<j)]; 
				}	
			}	
			swap(crt,nxt);
		}
	return crt[0];
}

int main()
{
	int cases;
	scanf("%d",&cases);
	for(int t=1;t<=cases;++t){
		scanf("%d",&n);
		m=4;
		printf("%d %d\n",t,solve());
	}	
	return 0;	
} 

相关文章推荐

POJ-3797(状态转移)(Tiling a Grid With Dominoes )

【题目描述】 多米诺骨牌覆盖 【解题思路】 1.fi肯定可以由fi-1再竖着摞两块砖; 2.fi还可以由fi-2再横着摞四块砖; 3.fi还可以是以下情况*2,即横两块、竖一块,竖的一块在两...

zoj zju 2994 Tiling a Grid With Dominoes 状压dp

题意,4*w的矩形放满1*2的矩形可以有多少种放法 从左往右状压dp。状态中的1表示横着放,且要占用该行下一列一格。0表示这个状态正好放满这列。...

HDU 1992 Tiling a Grid With Dominoes (状压dp)

Tiling a Grid With Dominoes Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (J...

HDU 1992 Tiling a Grid With Dominoes (状压 dp)

Problem Description We wish to tile a grid 4 units high and N units long with rectangles (dominoes)...

hdu 1992 Tiling a Grid With Dominoes(状压&DP)

Tiling a Grid With Dominoes Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja...

HDU 1992Tiling a Grid With Dominoes(状压dp)

Tiling a Grid With Dominoes Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (J...
  • opm777
  • opm777
  • 2014年03月26日 22:43
  • 1193

HDU-1992-Tiling a Grid With Dominoes-4列n行的骨牌-轮廓线DP

题意:在n*4的矩阵里,填满1*2的骨牌,有多少种可能性,我想的方向是4列n行 思路:分为三种情况。1.当前列上一行把这一行给占有了,当前行不能再放。 2.当前列上一行没有把这一行给占用,肯定可以竖这...

HDU 1992 Tiling a Grid With Dominoes(轮廓线dp || 插头dp 简讲)

Problem Description We wish to tile a grid 4 units high and N units long with rectangles (dominoes)...

sicily Tiling a Grid With Dominoes

题意: 问一个 L*4 的矩形,用2*1的小矩形组成有多少种组法。思路: 递推。用一个4bit的整数表示“行状态”。写出15个递推式即可。首先,定义 f [ i ] [ j ] 为, 已组成长度 ...

hdu 1992-Tiling a Grid With Dominoes

Tiling a Grid With Dominoes                                                                Time Lim...
  • ZWZ530
  • ZWZ530
  • 2016年09月18日 00:57
  • 122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 3797 Tiling a Grid With Dominoes 状压dp
举报原因:
原因补充:

(最多只允许输入30个字)