简单的压缩状态

dp

 /*
状态压缩dp
同hdu2167
利用滚动数组!!
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
#include<math.h>
#include<map>
using namespace std;
const int maxn = ;
int binary[ maxn+ ];
int s[ <<(maxn) ];
//int sum[ maxn ][ 1<<maxn ];
//int dp[ maxn ][ 1<<maxn ];
int dp[][<<maxn];
int mat[ maxn ][ maxn ];
void init_binary(){
binary[] = ;
for( int i=;i<=;i++ ){
binary[i] = *binary[i-];
}
} int solve( int n ){
//memset( sum,0,sizeof( sum ) );
memset( dp,,sizeof( dp ) );
int cnt = ;
int N = (<<n);
for( int i=;i<N;i++ ){
if( ( (i<<)&i )== ){
s[ cnt++ ] = i;
}
}//保存合格的状态
//for( int i=0;i<n;i++ ){
//for( int j=0;j<cnt;j++ ){
//for( int k=0;k<n;k++ ){
//if( binary[k]&s[j] ){
//sum[ i ][ j ] += mat[ i ][ k ];
//}
//}
//}
//}
int ans = ;
for( int i=;i<cnt;i++ ){
int sum = ;
for( int j=;j<n;j++ ){
if( binary[j]&s[i] ){
sum += mat[][j];
}
}
dp[][i] = sum;
ans = max( ans,dp[][i] );
}
for( int i=;i<n;i++ ){
for( int j=;j<cnt;j++ ){
for( int k=;k<cnt;k++ ){
if( ( s[j]&s[k] )== ){
int sum = ;
for( int kk=;kk<n;kk++ ){
if( binary[kk]&s[j] ){
sum += mat[i][kk];
}
}
if( i%== ) dp[ ][ j ] = max( dp[][j],dp[][k]+sum );
else dp[ ][ j ] = max( dp[][j],dp[][k]+sum );
//dp[ i ][ j ] = max( dp[i][j],dp[i-1][k]+sum );
//dp[i][j] = max( dp[i][j],dp[i-1][k]+sum[i][j] );
}
}
ans = max( ans,max( dp[][j],dp[][j] ) );
}
}
return ans;
} int main(){
int n;
init_binary();
while( scanf("%d",&n)== ){
for( int i=;i<n;i++ ){
for( int j=;j<n;j++ ){
scanf("%d",&mat[i][j]);
}
}
int ans = solve( n );
printf("%d\n",ans);
}
return ;
}

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

  1. HDU1565 方格取数(1)(状态压缩dp)

    题目链接. 分析: 说这题是状态压缩dp,其实不是,怎么说呢,题目数据太水了,所以就过了.手动输入n=20的情况,超时.正解是网络流,不太会. A这题时有个细节错了,是dp[i][j]还是dp[i][ ...

  2. hoj2662 状态压缩dp

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

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

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

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

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

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

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

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

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

  7. 状态压缩dp问题

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

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

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

  9. Marriage Ceremonies(状态压缩dp)

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

随机推荐

  1. Javascript Error: 11233 Content-Length mismatch

    Today I got a error in fiddler: Failed to obtain request body. System.IO.InvalidDataException The re ...

  2. SQLite学习心得

    SQLite是一款很有名气的小型开源跨平台数据库,作为目前最流行的开源嵌入式关系型数据库,在系统结构设计中正在扮演着越来越重要的角色. 本文主要沿着 http://www.cppblog.com/we ...

  3. C++与Lua交互(二)

    上一篇我们搭建好了整个的项目环境,现在,我们一起探索一下如何将lua寄宿到C++中. 宿主的实现 我们在LuaWithCPPTest项目下,查看Source.cpp代码如下: #include < ...

  4. linux端口与进程命令

    1 lsof命令 lsof -i:portNum 查出来与该端口相关的所有程序 2 netstat命令: netstat -lnp

  5. 在SQL脚本中的注释引起的奇怪问题

    在数据库安装包中,我们通过osql.exe这个工具来对相关的数据库脚本进行更新,昨天突然发现安装包报错了,说脚本错误,但我们将脚本拿到数据库查询分析器中执行,一切OK. 问题出在哪里呢? 通过使用os ...

  6. L001-老男孩教育-Python13期VIP视频-19节-pbb

    L001-老男孩教育-Python13期VIP视频-19节-pbb Windows上安装 Python3开发环境 下载:www.python.org >选择Downloads>All re ...

  7. Java抓取网页数据

    http://ayang1588.github.io/blog/2013/04/08/catchdata/ 最近处于离职状态,正赶清闲,开始着手自己的毕业设计,课题定的是JavaWeb购物平台,打算用 ...

  8. GridView分页排序

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewPage.asp ...

  9. google map api 学习笔记

    (1)地图的缩放监听函数 google.maps.event.addlistener(map,"zoom_change",function(){ 缩放级别变化后的函数. }); ( ...

  10. google其他入口地址

    http://178.45.251.74/ http://64.233.166.51/ http://61.19.1.117/ http://64.233.166.42/ http://61.19.1 ...