bzoj1725 [USACO2006NOV]Corn Fields牧场的安排(状压dp)
来源:互联网 发布:大数据的意义和作用 编辑:程序博客网 时间:2024/05/21 07:51
跟上一题很像啊。。这题n=12,每行的状态也不太一样,所以我们就不预处理了。dp[i][k]表示第i行的状态为k的合法方案,等于第i-1行状态为j且j,k可以为相邻行的方案数的和
#include<cstdio>#define mod 1000000000int n,m,dp[13][4096],mp[13],ans=0;int main(){// freopen("a.in","r",stdin); scanf("%d%d",&m,&n); for(int i=1;i<=m;++i) for(int j=0;j<n;++j){ int x;scanf("%d",&x); if(x) mp[i]+=x<<j; } int end=(1<<n)-1; for(int i=0;i<=end;++i) if((i&(i>>1))==0&&(i|mp[1])==mp[1]) dp[1][i]=1; for(int i=2;i<=m;++i) for(int j=0;j<=end;++j) if(dp[i-1][j]) for(int k=0;k<=end;++k) if((k&j)==0&&(k|mp[i])==mp[i]&&(k&k>>1)==0) dp[i][k]=(dp[i][k]+dp[i-1][j])%mod; for(int i=0;i<=end;++i) ans=(ans+dp[m][i])%mod; printf("%d\n",ans); return 0;}
阅读全文
0 0
- bzoj1725 [USACO2006NOV]Corn Fields牧场的安排(状压dp)
- 【bzoj1725】【Usaco2006 Nov】Corn Fields牧场的安排【状压dp】
- BZOJ1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压DP
- bzoj1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压dp
- BZOJ1725 Corn Fields牧场的安排 [状压DP]
- [BZOJ1725][Usaco2006 Nov]Corn Fields牧场的安排(状压dp)
- BZOJ1725 Corn Fields牧场的安排
- [BZOJ1725] [Usaco2006 Nov]Corn Fields牧场的安排
- bzoj1725: [Usaco2006 Nov]Corn Fields牧场的安排
- bzoj1725 [Usaco2006 Nov]Corn Fields牧场的安排
- 【bzoj1725】[Usaco2006 Nov]Corn Fields牧场的安排
- BZOJ1725 [Usaco2006 Nov]Corn Fields牧场的安排
- bzoj 1725: [Usaco2006 Nov]Corn Fields牧场的安排(状压DP)
- [Usaco2006 Nov]Corn Fields牧场的安排 壮压DP
- 【POJ3254】【BZOJ1725】Corn Fields【状压DP】
- [BZOJ 1725][Usaco2006 Nov]Corn Fields牧场的安排:状压DP
- BZOJ 1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压dp
- bzoj 1725:Corn Fields牧场的安排
- hdu 6130 Kolakoski
- 算法学习之排序算法的C++实现——冒泡排序
- Android 获取设备唯一编号
- Spring框架-AOP
- Python执行命令行命令并获取输出
- bzoj1725 [USACO2006NOV]Corn Fields牧场的安排(状压dp)
- 十大恐怖CMD
- 短平快!不用公式也能多条件查询
- android API 学习 权限学习(一)
- display:flex垂直居中
- 图的存储结构——邻接表
- 【C++11】新特性——引入nullprt
- EmbeddedViewRef
- JNat外网访问时出现localhost地址怎么办