hdu_4539_郑厂长系列故事——排兵布阵(状压DP|最大团)
题目连接: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|最大团)的更多相关文章
- HDU 4539 郑厂长系列故事——排兵布阵 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...
- HDU 4539 郑厂长系列故事——排兵布阵 —— 状压DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Ot ...
- HDU 4539郑厂长系列故事――排兵布阵(状压DP)
HDU 4539 郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 //#pragma co ...
- HDU 4539 郑厂长系列故事——排兵布阵
http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...
- 郑厂长系列故事——排兵布阵 hdu4539(状态压缩DP)
郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- HDU-4539郑厂长系列故事——排兵布阵(状态压缩,动态规划)
郑厂长系列故事--排兵布阵 Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total ...
- hdu4539 郑厂长系列故事——排兵布阵 + POJ1158 炮兵阵地
题意: 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/32 ...
- HDU 4529 郑厂长系列故事——N骑士问题 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/O ...
- HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4529 郑厂长系列故事——N骑士问题 Time Limit: 6000/3000 MS (Java/Ot ...
随机推荐
- workerman简单例子
workerman下载地址 http://www.workerman.net/ html <!DOCTYPE html> <html> <head> <tit ...
- B/S、C/S区别
[B/S.C/S C/S (Client/Server客户端服务器) B/S (Brower/Server浏览器服务器) 区别 1.硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环 ...
- @Scheduled(cron = "0 0 * * * ?")实现定时任务
//每一个小时执行一次 @Scheduled(cron = "0 0 * * * ?") public void saveDailyScoreScheduled() { try { ...
- 【第四篇】Volley修改之GsonRequest
json解析工具类的引入,这里引用lite马天宇的解析json的工具类: public class GsonImpl extends Json { private Gson gson = new Gs ...
- html5权威指南:html全局属性
html全局属性:http://www.w3school.com.cn/tags/html_ref_standardattributes.asp 辅助记忆:(ail1,s2,c3,t3,d4)(acd ...
- 【解题报告】瑞士轮(NOIP2011普及组T3)
[题外话:这道题吧……说实话我不太喜欢……因为卡快排.] 题目不贴了,就是给你一个赛制,然后各个选手的初始得分和能力值,问你进行R轮比赛之后第Q名的编号是多少(这个编号读进来就要算OYZ,初始快排的时 ...
- servlet 用法
引入servlet的jar包,这个包在tomcat的lib下 新建一个servlet文件继承httpServlet,要实现里面的doGet或者doPost方法 在web.xml文件中配置 在form表 ...
- 5、Struts2自定义拦截器
一.拦截器相关知识 1.Struts2框架剖析 Holly版本生活案例: 影视公司(拍电影) ActionMapper 传媒公司(包装明星) ActionMapping 明星 ...
- HDU 1258 Sum It Up(DFS)
题目链接 Problem Description Given a specified total t and a list of n integers, find all distinct sums ...
- linux上发布网站遇到的问题
在linux上部署mono之后,就自己使用vs写了个简单的网站上传到linux下的apache目录下的htdocs下,就使用主机的浏览器访问地址,但是很残酷的报错了!百思不得其解.搞了半天才想到是因为 ...