状压dp——洛谷 P1377 M国王
来源:互联网 发布:y2电机技术数据大全 编辑:程序博客网 时间:2024/05/29 14:20
https://www.luogu.org/problem/show?pid=1377#sub
状压dp。rnf[i][j][k]表示前i行放j个,第i行的放置情况为k的方案数。
转移:f[i][j][k]=sum(f[i-1][j-num[k]][k’])(k’和k的相同位和相邻位不都是1,用位运算判断)r
num[k]表示k这种状态的1的个数
最后输出sum(f[n][m][k]),k为任意状态
其实很水诶……
#include<bits/stdc++.h>#define Ll long longusing namespace std;int num[500],w;int f[10][100][500];int n,m,ans;int main(){ scanf("%d%d",&n,&m); w=(1<<n)-1; for(int i=0;i<=w;i++) for(int k=i;k;k>>=1)if(k&1)num[i]++; f[0][0][0]=1; for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) for(int k=0;k<=w;k++)if(!((k<<1)&k)&&!((k>>1)&k)) if(j>=num[k]) for(int kk=0;kk<=w;kk++)if(!((kk<<1)&kk)&&!((kk>>1)&kk)) if(!(kk&k)&&!((k<<1)&kk)&&!((k>>1)&kk)) f[i][j][k]+=f[i-1][j-num[k]][kk]; for(int k=0;k<=w;k++)ans+=f[n][m][k]; printf("%d",ans);}
阅读全文
1 0
- 状压dp——洛谷 P1377 M国王
- Luogu P1377 M国王
- 洛谷1377 M国王 (SCOI2005互不侵犯King)
- 洛谷 P1377 [TJOI2011]树的序
- 蓝桥杯—国王的烦恼
- 动态规划——国王挖掘金矿
- 洛谷1080 国王游戏
- 洛谷 P1080 国王游戏
- 洛谷 P1080 国王游戏
- 洛谷 P1080 国王游戏
- [洛谷]P1080 国王游戏
- NYOJ 674 善良的国王 -- 树形dp
- HLG1475国王的宴会【树形DP】
- HLG1475国王的宴会【树形DP】
- 蓝桥杯决赛真题——国王的遗产
- 渣渣ACM日记——264-国王的魔镜(NYOJ)
- SSL JudgeOnline 2244——国王的魔镜
- YihAN_Z's 测试之——国王的烦恼
- JS之Generator(生成器)
- 多态 java
- java 所有事件类型以及事件实现的方法
- 8GB运存华硕ZenFone AR开卖:售价高达5618元
- cshell命令行显示当前git branch名字
- 状压dp——洛谷 P1377 M国王
- file_get_contents获取json内容处理失败的问题
- 新一代基于Node.js的后端云平台JSONStore正式公测
- IDEA入门使用教程
- scrollview 与自定义view 一起使用冲突问题
- 深入程序编译链接和运行
- 浅谈虚拟机(2)受害者和凶手登场の内存详解
- 缓存淘汰算法--LRU算法
- asp.net ChartControl控件导出图片