码迷,mamicode.com
首页 > 其他好文 > 详细

hiho 1044

时间:2015-04-29 15:10:45      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:hiho1044   状态压缩   

//
//  main.cpp
//  hiho1044
//
//  Created by Fangpin on 15/4/28.
//  Copyright (c) 2015年 FangPin. All rights reserved.
//

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,m,q;
int dp[1005][1029],a[1004];

int cnt(int x){
    int ans=0;
    while(x){
        if(x&1) ++ans;
        x>>=1;
    }
    return ans;
}

int main(int argc, const char * argv[]) {
    // insert code here...
//    std::cout << "Hello, World!\n";
//    int n,m,q;
    scanf("%d%d%d",&n,&m,&q);
    memset(dp,0,sizeof(dp));
    for(int i=1;i<=n;++i)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;++i){
        for(int j=0;j<(1<<m);++j){
            int s0=(j<<1)&((1<<m)-1);
            int s1=(j<<1|1)&((1<<m)-1);
            dp[i][s0]=max(dp[i][s0],dp[i-1][j]);
            if(cnt(s1)<=q)
                dp[i][s1]=max(dp[i][s1],dp[i-1][j]+a[i]);
        }
    }
    int ans=0;
    for(int i=0;i<(1<<m);++i)
        ans=max(ans,dp[n][i]);
    printf("%d\n",ans);
    return 0;
}

hiho 1044

标签:hiho1044   状态压缩   

原文地址:http://blog.csdn.net/fangpinlei/article/details/45365777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!