题目连接: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. linux远程登录ssh免密码

    原文链接,感谢原作者. (一)问题: 假如我们现在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问. (二)方法和原理: 我们使用ssh-keygen在S ...

  2. ubuntu 14.04 opencv2.4.13 安装

    1.下载然后解压安装压缩包 unzip opencv-2.4.13.zip 2. 进入刚解压的文件夹,建立release文件夹 cd opencv-2.4.13 mkdir release 3. 安装 ...

  3. 下载PhpStorm并进行激活

    1.首先登陆PhpStorm官网http://www.jetbrains.com/phpstorm/ 点击附图中的download now 按钮 2.第二步根据os x \wind\ linux进行下 ...

  4. 扩展kmp——原创

    扩展kmp                 LRH 所谓扩展kmp指的是与kmp相似的求辅助数组的原理,但是本身与kmp关系不大. 1.exkmp的用途:给定一个主串s和一个子串t,求出s中每一个后缀 ...

  5. HTTP Basic Authentication认证的各种语言 后台用的

    访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HT ...

  6. 第九十节,html5+css3pc端固定布局,底部区域,说明区域,版权区域

    html5+css3pc端固定布局,底部区域,说明区域,版权区域 完成: HTML代码: <!--尾部--> <footer class="wei-bu"> ...

  7. html5权威指南:定制input元素

    第十三章:定制Inpur元素,http://www.cnblogs.com/polk6/p/5417921.html#Menu3-New input标签最全面的type属性:http://blog.s ...

  8. 《JS权威指南学习总结--7.8 数组方法》

    内容要点: 一.join() Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生产的字符串. 可以指定一个可选的字符串在生产的字符串中来分隔数组的各个元素.如果不指定分 ...

  9. java 邮件收发 (只能输入英文,中文需要转码)

    //发件 package com.sun.mail;import java.io.UnsupportedEncodingException;import java.util.Properties;im ...

  10. HDU 2509 Be the Winner(取火柴博弈2)

    传送门 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int ...