思路:状态压缩dp,设dp[i][j] 表示前i行,状态为j时的最大值,状态定义为:若前i行中取了第x列那么j的二进制位中第x位为1,否则为0,最后答案就是dp[n-1][(1 << n)-1];

装态转移方程就是 dp[i][j|(1 << k)] = max(dp[i][j|(1 << k)],dp[i-1][j] + mat[i][k])  (j & (1 << k) == 0)

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN = 16;
int dp[MAXN][1 << MAXN], mat[MAXN][MAXN];
int main(){
    int t, n, CASE(0);
    scanf("%d", &t);
    while(t--){
        scanf("%d", &n);
        for(int i = 0;i < n;i ++){
            for(int j = 0;j < n;j ++) scanf("%d", &mat[i][j]);
        }
        int len = (1 << n);
        memset(dp, 0, sizeof dp);
        for(int i = 0;i  < n; i ++) dp[0][1 << i] = mat[0][i];
        for(int i = 1;i < n;i ++){
            for(int j = 0;j < n;j ++){
                for(int k = 0;k < len;k ++){
                    if(!dp[i-1][k] || (1 << j) & k) continue;
                    dp[i][k|(1 << j)] = max(dp[i][k|(1 << j)], dp[i-1][k]+mat[i][j]);
                }
            }
        }
        printf("Case %d: %d\n", ++CASE, dp[n-1][len-1]);
    }
    return 0;
}

;

lightoj 1011 (状态压缩dp)的更多相关文章

  1. Marriage Ceremonies(状态压缩dp)

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

  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. HDU 1074 (状态压缩DP)

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

随机推荐

  1. html5新增标签兼容性

    很多低版本的浏览器是不识html5新增的标签的,所以为了解决浏览器兼容性问题,主要有两种方法: js可以创建我们自定义的标签,例如,我们可以用js语句 document.createElement(' ...

  2. C#基础(七)——静态类与非静态类、静态成员的区别

    静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例 ...

  3. c语言知识(找出大于2门成绩不及格的学生)

    1.首先定义一个学生结构体(结构体中包含一个Score结构体): typedef struct score{ float chinese;//语文成绩 float english;//英语成绩 flo ...

  4. 用Delphi获取当前系统时间

    在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...

  5. C语言的数据类型

    复习之余,做点笔记<C语言之数据类型> 一.整数数据类型 (1)整数数据类型 整数类型 char 字符型变量   1字节(8Bit) short 短整型      2字节(16Bit) i ...

  6. Kinetic使用注意点--canvas

    <virtual> new Canvas(width, height) 参数: width:canvas宽度 height:canvas高度 方法: applyShadow(shape, ...

  7. 认识基本的UI资源

    什么是UI精灵(Sprite) 在制作UI时,经常将一些零碎的小的UI资源(比如,一个小箭头,一个按钮等)打包成一张大图,然后在使用时,只使用这个大图中的一部分,那么这一块"被切出来&quo ...

  8. 在类库中无法使用ConfigurationManager

    需要先引用DLL文件: C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll 然后才可以使用 System.Co ...

  9. Hbase region 某个regionserver挂掉后的处理

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwoAAACdCAMAAAAjbX91AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK

  10. A Neural Network in 11 lines of Python

    A Neural Network in 11 lines of Python A bare bones neural network implementation to describe the in ...