hdu 1565 状态压缩dp
2024-08-26 23:14:20
#include<stdio.h>
#include<string.h>
int Max(int a,int b) {
return a>b?a:b;
}
int dp[3][1<<21];
int map[30][30];
int s[1<<21];
int main() {
int i,j,k,n,num=0;
for(i=0;i<(1<<21);i++)
if(!(i&(i<<1)))
s[num++]=i;
while(scanf("%d",&n)!=EOF) {
int limit=1<<n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&map[i][j]);
memset(dp,0,sizeof(dp));
int p=0;
for(i=0;i<n;i++) {
p^=1;
for(j=0;j<num;j++) {
int sum=0;
if(s[j]>limit)
break;
for(k=0;k<n;k++)
if(s[j]&(1<<k))
sum+=map[i][k];
for(k=0;k<num;k++) {
if(s[k]>limit)
break;
if(!(s[j]&s[k]))
dp[p][s[j]]=Max(dp[p][s[j]],dp[1-p][s[k]]+sum);
}
}
}
int max=0;
for(i=0;i<num&&s[i]<=limit;i++)
max=Max(max,dp[p][s[i]]);
printf("%d\n",max);
}
return 0;
}
最新文章
- ACM 谁获得了最高奖学金
- 深入理解requestAnimationFrame
- Android Eclipse真机调试 过滤器filter没有显示
- js中字符串的截取
- 13.python中的字典
- (ios开发学习笔记一)ios项目文件结构
- HW5.33
- 标准IO库
- 导入Excel 文件(图片和文字)NPOI+BootStrap fileinput 插件 的结合使用
- HyperLedger Fabric 1.1 手动部署单机单节点
- zookeeper+kafka集群安装之二
- iframe内document事件监听
- Storm中重要对象的生命周期
- Java并发编程:synchronized、Lock、ReentrantLock以及ReadWriteLock的那些事儿
- js 创建Date对象5种方式
- Python 工匠:编写条件分支代码的技巧
- (转)memcache缓存
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试
- Eclipse 工作空间(Workspace)
- MD04
热门文章
- [转]自定义ASP.NET MVC JsonResult序列化结果
- 【C#】将数据库读出的数据转换为DataTable类型集合
- laravel之伪造跨站请求保护CSRF实现机制
- JS正则匹配待重命名文件名
- cnbeta新闻资讯第三方客户端应用
- tree iview treeData json数据 添加 selected 数据 要进行vue.set 进行响应式添加
- Java文件编译与反编译:javac命令和javap命令
- Microsoft Windows Server
- c/s端测试——nw.js篇(selenium工具)
- C++11程序设计要点总结-模板机制详解