种植方案(状压dp)

Posted SSL_LKJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了种植方案(状压dp)相关的知识,希望对你有一定的参考价值。

种植方案

输入样例

2 3
1 1 1
0 1 0

输出样例

9

解题思路

状压dp模板

主要就是枚举两行之间的关系

预处理一些东西

转移就很好转移

记住最后要求和

AC代码

#include<cstdio>
using namespace std;
int n,m,tot,ans,b[1<<15],c[1<<15],a[15][15],f[15][1<<15];
int main()

	scanf("%d%d",&n,&m);
	for(int i=0;i<(1<<m);i++)//预处理
		if(((i<<1)&i)==0)b[++tot]=i;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
		
			scanf("%d",&a[i][j]);
			c[i]=(c[i]<<1)+a[i][j];//初值
		
	f[0][0]=1;//初值
	for(int i=1;i<=n;i++)//转移方程
		for(int j=1;j<=tot;j++)
			if((c[i]&b[j])==b[j])
				for(int k=1;k<=tot;k++)
					if(!(b[j]&b[k]))
						f[i][b[j]]=(f[i][b[j]]+f[i-1][b[k]])%100000000;
	for(int i=1;i<=tot;i++)ans=(ans+f[n][b[i]])%100000000;//求和
	printf("%d",ans);
	return 0;
 

谢谢

以上是关于种植方案(状压dp)的主要内容,如果未能解决你的问题,请参考以下文章

ybtoj 状压DP课堂过关 例题1jzoj 1266 luogu P1879 [USACO06NOV]Corn Fields G & 玉米田 & 种植方案

poj3254--Corn Fields--状压dp

状压DPpoj3254 Corn Fields

HDU4057 Rescue the Rabbit(AC自动机+状压DP)

18.06.03 POJ 4126:DNA 15年程设期末05(状压DP)

acwing 327. 玉米田