http://acm.hdu.edu.cn/showproblem.php?pid=2167

第一道状态压缩dp,其实就是爆搜,只不过把排除了大量不可能的情况,先用sta保存每行可能的情况,sum[i][j]保存i行j种情况的该行和,然后依次更新dp。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std; int n,sum[][<<],dp[][<<],a[][],sta[<<]; int main()
{
while(~scanf("%d",&a[][]))
{
n = ;
char c;
while(~scanf("%d%c",&a[][++n],&c) && c != '\n');
for(int i = ;i <= n;i++)
{
for(int j = ;j <= n;j++) scanf("%d",&a[i][j]);
}
memset(dp,,sizeof(dp));
memset(sum,,sizeof(sum));
int cnt = ,endd = <<n;
for(int i = ;i < endd;i++)
{
if(i & (i << )) continue;
sta[++cnt] = i;
}
for(int i = ;i <= n;i++)
{
for(int j = ;j <= cnt;j++)
{
for(int k = ;k <= n;k++)
{
if(sta[j] & (<<(k-))) sum[i][j] += a[i][k];
}
}
}
for(int i = ;i <= cnt;i++) dp[][i] = sum[][i];
for(int i = ;i < n;i++)
{
for(int j = ;j <= cnt;j++)
{
for(int k = ;k <= cnt;k++)
{
if(sta[j] & sta[k]) continue;
if(sta[j] & (sta[k]<<)) continue;
if(sta[j] & (sta[k]>>)) continue;
dp[i+][k] = max(dp[i+][k],dp[i][j]+sum[i+][k]);
}
}
}
int ans = ;
for(int i = ;i <= cnt;i++) ans = max(ans,dp[n][i]);
printf("%d\n",ans);
}
return ;
}

HDU_2167_状态压缩dp的更多相关文章

  1. hoj2662 状态压缩dp

    Pieces Assignment My Tags   (Edit)   Source : zhouguyue   Time limit : 1 sec   Memory limit : 64 M S ...

  2. POJ 3254 Corn Fields(状态压缩DP)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4739   Accepted: 2506 Descr ...

  3. [知识点]状态压缩DP

    // 此博文为迁移而来,写于2015年7月15日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w6jf.html 1.前 ...

  4. HDU-4529 郑厂长系列故事——N骑士问题 状态压缩DP

    题意:给定一个合法的八皇后棋盘,现在给定1-10个骑士,问这些骑士不能够相互攻击的拜访方式有多少种. 分析:一开始想着搜索写,发现该题和八皇后不同,八皇后每一行只能够摆放一个棋子,因此搜索收敛的很快, ...

  5. DP大作战—状态压缩dp

    题目描述 阿姆斯特朗回旋加速式阿姆斯特朗炮是一种非常厉害的武器,这种武器可以毁灭自身同行同列两个单位范围内的所有其他单位(其实就是十字型),听起来比红警里面的法国巨炮可是厉害多了.现在,零崎要在地图上 ...

  6. 状态压缩dp问题

    问题:Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Ev ...

  7. BZOJ-1226 学校食堂Dining 状态压缩DP

    1226: [SDOI2009]学校食堂Dining Time Limit: 10 Sec Memory Limit: 259 MB Submit: 588 Solved: 360 [Submit][ ...

  8. Marriage Ceremonies(状态压缩dp)

     Marriage Ceremonies Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu ...

  9. HDU 1074 (状态压缩DP)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:有N个作业(N<=15),每个作业需耗时,有一个截止期限.超期多少天就要扣多少 ...

随机推荐

  1. 性能数据的准备-Jmeter

    性能测试的一般流程: 收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优 在收集性能需求后,我们会思考: 负载测试时并发时需要多少数据?例:登 ...

  2. 谁再问elasticsearch集群Red怎么办?把这篇笔记给他

    前言 可能你经历过这些Red. ...等等 那ES的Red是神么意思? 这里说的red,是指es集群的状态,一共有三种,green.red.yellow.具体含义: 冷静分析 从上图可知,集群red是 ...

  3. 网课党的双重大福利!Github学生账号和Educative合作,总共2000美金的课程免费半年啦

    如果你在北美计算机求职,各种算法培训课对你肯定不陌生.其中有一门课叫做System Design的课,更是人人皆知. 系统设计传送门: Grokking the System Design Inter ...

  4. java动态代理、Proxy与InvocationHandler

    看了好多关于代理的文章,理解和整理一下. 1.代理的基本构成 抽象角色:声明真实对象和代理对象的共同接口,这样可在任何使用真实对象的地方都可以使用代理对象. 代理角色:代理对象内部含有真实对象的引用, ...

  5. MySQL故障演习

    MySQL故障演习 接上次的 MySQL定时备份 该次实验主要是练习在MySQL数据库发生误删等意外情况下,利用全量备份文件和增量备份文件恢复数据. 1. 实验环境 -- 创建数据库 create d ...

  6. 关闭Win10 445端口

    这次勒索病毒利用了NSA黑客工具包中的“永恒之蓝”0day漏洞,通过电脑445端口(文件共享<普通用户基本用不到这个端口,可以关闭>)在内网进行蠕虫式感染传播,为了防止内网感染,建议用户关 ...

  7. STM321的SPI驱动遇到的一个坑!!

    最近在做项目要用到FATFS文件驱动和SD卡驱动,SD卡驱动我用的是SPI的通信方式,在挂载文件系统是总是挂在失败了,花了一天时间反复检查,才发现SPI在接收时候卡死: 为了寻找问题的原因,整个人都快 ...

  8. 从头学pytorch(二十):残差网络resnet

    残差网络ResNet resnet是何凯明大神在2015年提出的.并且获得了当年的ImageNet比赛的冠军. 残差网络具有里程碑的意义,为以后的网络设计提出了一个新的思路. googlenet的思路 ...

  9. dubbo配置文件解读(1)

    详细的Dubbo配置也可以参考:https://blog.csdn.net/abcde474524573/article/details/53026110 (1)<dubbo:service/& ...

  10. 函数组合的 N 种模式

    随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微 ...