题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4539

题意:中文,不解释

题解:将每一行的状态压缩,然后进行DP,也可以用最大团做。这里我用的DP

 #include<cstdio>
#include<cstring>
#define max(a,b) ((a)>(b)?(a):(b)) int row[];
int dp[][][];//dp[i][j][k]表示第i行状态为j,i-1行状态为k时的士兵最大值
int s[<<];//合法状态
int cnt[<<];//合法状态中1的个数,即可安排的士兵数 int getcnt(int x){int c=;while(x>)c++,x=x&(x-);return c;} int fuck(int n,int m){
int now=,i,j,k,l,ans=;
for(i=;i<(<<m);i++){
if(i&(i<<))continue;
s[now]=i,cnt[now++]=getcnt(i);
}
for(i=;i<now;i++){
if(s[i]&row[])continue;
dp[][i][]=cnt[i];
}
for(i=;i<n;i++)for(j=;j<now;j++){
if(s[j]&row[i])continue;
for(k=;k<now;k++){
if((s[j]&(s[k]>>))||(s[j]&(s[k]<<)))continue;
for(l=;l<now;l++){
if(s[j]&s[l])continue;
dp[i][j][k]=max(dp[i][j][k],dp[i-][k][l]+cnt[j]);
}
}
}
for(i=;i<now;i++)for(j=;j<now;j++)ans=max(ans,dp[n-][i][j]);
return ans;
} int main(){
int n,m,i,j,x;
while(~scanf("%d%d",&n,&m)){
memset(row,,sizeof(row));
memset(dp,,sizeof(dp));
for(i=;i<n;i++)for(j=;j<m;j++){
scanf("%d",&x);
if(!x)row[i]=(row[i]<<)|;else row[i]<<=;
}
printf("%d\n",fuck(n,m));
}
return ;
}

hdu_4539_郑厂长系列故事——排兵布阵(状压DP|最大团)的更多相关文章

  1. HDU 4539 郑厂长系列故事——排兵布阵 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...

  2. HDU 4539 郑厂长系列故事——排兵布阵 —— 状压DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Ot ...

  3. HDU 4539郑厂长系列故事――排兵布阵(状压DP)

    HDU 4539  郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 //#pragma co ...

  4. HDU 4539 郑厂长系列故事——排兵布阵

    http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...

  5. 郑厂长系列故事——排兵布阵 hdu4539(状态压缩DP)

    郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)To ...

  6. HDU-4539郑厂长系列故事——排兵布阵(状态压缩,动态规划)

    郑厂长系列故事--排兵布阵 Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total ...

  7. hdu4539 郑厂长系列故事——排兵布阵 + POJ1158 炮兵阵地

    题意:                  郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/32 ...

  8. HDU 4529 郑厂长系列故事——N骑士问题 状压dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/O ...

  9. HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事——N骑士问题 Time Limit: 6000/3000 MS (Java/Ot ...

随机推荐

  1. Spring对jdbc支持

    4. Spring对jdbc支持 spring对jdbc提供了很好的支持 体现在: 1.Spring对C3P0连接池的支持很完善 2.Spring对jdbc提供了jdbcTemplate来简化jdbc ...

  2. 《JavaScript高级程序设计》读书笔记 ---单体内置对象

    Global对象Global(全局)对象可以说是ECMAScript 中最特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的.ECMAScript 中的Global 对象在某种意义上是作 ...

  3. Mysql 基础语法1

    MySQL的软件架构 1.开启MySQL服务器:以windows服务的形式开启,在cmd下net startmysql|net stop mysql,在cmd下使用mysqld –default-fi ...

  4. java设计模式(三)

    单例模式在一个jvm中有且仅有一个对象(1)内部静态类实现 class Singleton{ /*构造方法私有 防止实例化*/ private Singleton(){}; public static ...

  5. 分布式版本控制系统Git-----2.上传至远程仓库之基础版

    好,之前已经将文档下载下来了,但是我感觉还是将自己之前截的图放出来比较好,自己整理的,但是总不能放桌面上,时间久了也会忘得,索性放到博客上吧,也便于其他人查看,简直是百利而无一害啊.哈哈.来吧. 注意 ...

  6. hadoop报错 Message missing required fields: callId, status

    今天群里有人问hadoop的问题,说百度上怎么都查不到,还好hadoop之前玩过一阵,也遇上过这个问题 hadoop-2.2.0  hbase 0.95-hadoop2的 ,hdfs正常 ,启动 hb ...

  7. 微信小程序学习总结(1)

    1.一个小程序文件最基本包含app.js.app.json.app.wxss和pages文件夹结构,pages中的页面必须要在app.json的pages项进行配置,app.json也提供窗口表现,t ...

  8. 在ASP.NET Web Forms中使用页面导出伪xls Excel表格

    将数据导出为Excel表格是比较常见的需求,也有很多组件支持导出真正的Excel表格.由于Excel能打开HTML文件,并支持其中的table元素以及p之类的文本元素的显示,所以把.html扩展名改为 ...

  9. radio的选中设置以及取值。

    前台:<input type=" id="tg" name="state"/> <a style="cursor:poin ...

  10. php基础(七)文件

    PHP 文件处理 PHP 操作文件 当您操作文件时必须非常小心.如果您操作失误,可能会造成非常严重的破坏.常见的错误是: 编辑错误的文件 被垃圾数据填满硬盘 意外删除文件内容 PHP readfile ...