bzoj 1087 [SCOI2005]互不侵犯King 状压dp
来源:互联网 发布:市政道路工程验收数据 编辑:程序博客网 时间:2024/05/22 02:59
sb状压,输int错了一次,没救了。。。
#include <bits/stdc++.h>using namespace std;#define ll long long#define N (1<<9)+10int n,m;bool g[N][N];ll f[11][110][N],ans;int num[N];int check(int x,int y){ for(int i=0;i<n;i++) if(y>>i&1) { if(y>>i+1&1)return 0; if(x>>i+1&1)return 0; if(i&&x>>i-1&1)return 0; if(i&&y>>i-1&1)return 0; if(x>>i&1)return 0; } return 1;}int main(){ //freopen("tt.in","r",stdin); scanf("%d%d",&n,&m); for(int i=0;i<1<<n;i++) for(int j=0;j<1<<n;j++) g[i][j]=check(i,j); for(int i=1;i<1<<n;i++) num[i]=num[i-(i&-i)]+1; f[0][0][0]=1; for(int i=0;i<n;i++) for(int j=0;j<=m;j++) for(int k=0;k<1<<n;k++) for(int t=0;t<1<<n;t++) if(g[k][t]&&j+num[t]<=m) f[i+1][j+num[t]][t]+=f[i][j][k]; for(int i=0;i<1<<n;i++) ans+=f[n][m][i]; printf("%lld\n",ans); return 0;}
0 0
- BZOJ 1087 SCOI2005 互不侵犯King 状压DP
- bzoj 1087: [SCOI2005]互不侵犯King 状压dp
- 【bzoj 1087】[SCOI2005]互不侵犯King 状压dp
- bzoj 1087 [SCOI2005]互不侵犯King 状压dp
- 【BZOJ】1087 [SCOI2005]互不侵犯King 状压DP
- bzoj 1087: [SCOI2005]互不侵犯King 状压dp
- 【bzoj 1087】[SCOI2005]互不侵犯King(状压dp)
- BZOJ 1087: [SCOI2005]互不侵犯King 预处理,状压DP
- [BZOJ 1087][SCOI2005]互不侵犯King
- BZOJ 1087: [SCOI2005]互不侵犯King
- bzoj 1087 [SCOI2005]互不侵犯King
- 【BZOJ 1087】 [SCOI2005]互不侵犯King
- bzoj 1087: [SCOI2005]互不侵犯King
- 【BZOJ】1087【SCOI2005】互不侵犯King
- BZOJ 1087: [SCOI2005]互不侵犯King
- BZOJ 1087 [SCOI2005]互不侵犯King
- bzoj 1087 [SCOI2005]互不侵犯King
- BZOJ 1087 [SCOI2005]互不侵犯King
- shell中grep:行过滤工具
- android 获取屏幕的方向
- VB6实现简单的扫雷小游戏
- MySQL优化工具之 profiling
- 为什么需要同步?
- bzoj 1087 [SCOI2005]互不侵犯King 状压dp
- 日常博客
- ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
- 安卓:解决应用前后台切换报The surface has been released错误;PhoneStateListener实现通话状态的监听
- Android 使用sharedpreferences、ACache缓存用户名和密码
- JS escape()和unescape()函数的介绍
- ReactNative(三)——WebStorm的基本配置
- 将datalogger记录文件转换为canalyser可读取.asc文件
- fast-rcnn配置运行demo.py(Ubuntu14.04)