博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
互不侵犯King
阅读量:6087 次
发布时间:2019-06-20

本文共 774 字,大约阅读时间需要 2 分钟。

P1896

这是一道状压dp题(状态压缩)。It`s the first time that I had accepted a zhuangya dp problem!
把一行每一位放与不放用二进制中的01表示,状态压缩就是将一行的状态用一个二进制数表示。
解法在代码的注释中:

#include
#include
#include
#include
#include
#include
#include
using namespace std;int n,m,all;bool f1[513];//表示一行i状态可不可以放 bool f2[513][513];//表示相邻两行i和j状态可不可放int cnt[513];int f[20][101][513];//f[i][j][k]表示放到第i行,放了j个王,当前这行状态为k,的方案数 void pre(){ for(int i=0;i
>1))==0){ f1[i]=1; for(int x=i;x;x=x>>1) cnt[i]+=(x&1);//这个数转为二进制有多少个1 } for(int i=0;i
>1))==0)&&((j&(i>>1))==0)&&((j&i)==0)) f2[i][j]=1;} int main(){ //freopen("a.in","r",stdin); scanf("%d%d",&n,&m); all=(1<

转载于:https://www.cnblogs.com/dfsac/p/7587788.html

你可能感兴趣的文章
10054: An existing connection was forcibly closed by the remote host
查看>>
使用思科模拟器Packet Tracer与GNS3配置IPv6隧道
查看>>
T-SQL查询语言基础(表)
查看>>
Domino 8.5 添加免责声明
查看>>
存储器系统课后习题参考答案
查看>>
SSL加速和证书卸载的配置方式
查看>>
DFS分布式文件系统--部署篇
查看>>
javascript的一些应该注意的地方,一边学一边更新
查看>>
【Linux时间服务器搭建】
查看>>
文件防篡改系统ossec搭建
查看>>
JAVA性能调优-I/O优化技巧
查看>>
SharePoint 2013常用开发工具分享
查看>>
DNS反向地址解析配置
查看>>
nginx 图片缓存
查看>>
Silverlight实例教程 – Datagrid,Dataform数据验证和ValidationSummary
查看>>
processing编写简单黑、白圆圈绘图程序
查看>>
Android:Preference、PreferenceActivity、设置列表
查看>>
避开危险网站 Scandoo帮你鉴别
查看>>
JAVA CAS单点登录之四:CAS服务器增加JDBC访问能力
查看>>
虚幻4过场动画编辑器Sequencer脑图
查看>>