BZOJ1087(SCOI2005)[互不侵犯King]--状压DP
来源:互联网 发布:淘宝店代销怎么样 编辑:程序博客网 时间:2024/05/17 07:03
【链接】
bzoj1087
【解题报告】
。。。状压DP。。。
定义
再预处理一下行与行之间可以放的情况就行了。
#include<cstdio>#include<cstring>#define LL long longusing namespace std;const int maxn=515;int n,m,S,num[maxn];LL ans,f[10][maxn][82];bool vis[maxn][maxn];int main(){ freopen("1087.in","r",stdin); freopen("1087.out","w",stdout); scanf("%d%d",&n,&m); S=1<<n; memset(vis,0,sizeof(vis)); for (int i=0; i<S; i++) for (int j=0; j<S; j++) { for (int k=1; k<=n; k++) if (j&(1<<k-1)) if ((k>1&&(j&(1<<k-2)))||(k<n&&(j&(1<<k)))||(k>1&&(i&(1<<k-2)))||(k<n&&(i&(1<<k)))||(i&(1<<k-1))) {vis[i][j]=1; break;} } memset(num,0,sizeof(num)); for (int i=0; i<S; i++) for (int j=1; j<=n; j++) if (i&(1<<j-1)) num[i]++; memset(f,0,sizeof(f)); f[0][0][0]=1; for (int i=1; i<=n; i++) for (int j=0; j<S; j++) for (int k=0; k<S; k++) if (!vis[j][k]) for (int s=0; s<=m; s++) if (s+num[k]<=m) f[i][k][s+num[k]]+=f[i-1][j][s]; ans=0; for (int i=0; i<S; i++) ans+=f[n][i][m]; printf("%lld",ans); return 0; }
阅读全文
0 0
- 【BZOJ1087】【SCOI2005】【互不侵犯king】【状压dp】
- 【bzoj1087】[SCOI2005]互不侵犯King 状压DP
- [BZOJ1087][SCOI2005]互不侵犯King(状压dp)
- BZOJ1087: [SCOI2005]互不侵犯King 状压DP
- [BZOJ1087][SCOI2005][状压DP]互不侵犯King
- 【BZOJ1087】【SCOI2005】互不侵犯King(状压dp)
- BZOJ1087: [SCOI2005]互不侵犯King 题解【DP】【状压】
- bzoj1087 [SCOI2005]互不侵犯King(状压dp)
- [bzoj1087]: [SCOI2005]互不侵犯King(状压dp)
- bzoj1087[SCOI2005][互不侵犯King] 状压DP
- BZOJ1087 [SCOI2005]互不侵犯King 状压DP
- BZOJ1087(SCOI2005)[互不侵犯King]--状压DP
- BZOJ1087 [SCOI2005]互不侵犯King 状压dp
- 【轮廓线DP,状压DP】BZOJ1087 [SCOI2005]互不侵犯King
- bzoj1087: [SCOI2005]互不侵犯King 压状dp
- [bzoj1087][scoi2005][DP][状态压缩]互不侵犯King
- BZOJ1087 [SCOI2005]互不侵犯King 状态压缩DP
- 【BZOJ1087 || SCOI2005】互不侵犯King
- C++实现软件自动更新功能
- 两道用贪心算法的题目对比 (卖酒问题Uva 11054和 环形跑道Uva 11093)
- LaTeX 插入PDF图片,该用哪个命令?
- java小记(1)
- java中类型转换优先顺序
- BZOJ1087(SCOI2005)[互不侵犯King]--状压DP
- Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9
- 以用户登录、注册、添加删除修改为例,解析jdbcTemplate使用方式以及spring注解实现CRUD
- rsync+inotify逐一文件监听并实时同步-附完美案例
- Week01_day03 分支 选择判断 循环语句
- 分布式唯一ID极简教程
- mysql only_full_group_by 问题
- Android 通过一个app 启动另一个app
- 【C++】关于变量在for循环内外定义的思考