hdu 5045 Contest(dp)

news/2024/7/23 11:06:29

题目链接:hdu 5045 Contest

题目大意:一个队伍有N个人,比赛一共有M道题目,给定一个矩阵,表示每个人答对相应题目的正确率。现在对于每道题,可以派出一名学生参加答题,但是在任意时刻,任意两个学生答题数量不能相差2题以上。

解题思路:dp[i][s],表示在第i道题,s表示一个二进制状态,表示哪些人答过题(相应的),2N1=0

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
const int maxn = 15;
const int maxm = 2005;
const int maxs = (1<<10) + 5;
const double INF = 0x3f3f3f3f;

int N, M;
double p[maxn][maxm], dp[maxm][maxm];

void init () {
    scanf("%d%d", &N, &M);
    for (int i = 0; i < N; i++) {
        for (int j = 1; j <= M; j++)
            scanf("%lf", &p[i][j]);
    }
}

double solve () {
    int T = 1<<N;
    for (int i = 0; i <= M; i++)
        for (int j = 0; j < T; j++)
            dp[i][j] = -INF;
    dp[0][0] = 0;

    for (int i = 1; i <= M; i++) {
        for (int s = 0; s < T; s++) {
            for (int k = 0; k < N; k++) {
                if (s & (1<<k))
                    continue;
                dp[i][s | (1<<k)] = max(dp[i][s | (1<<k)], dp[i-1][s] + p[k][i]);
            }
        }
        dp[i][0] = dp[i][T-1];
    }

    double ret = 0;
    for (int i = 0; i < T; i++)
        ret = max(ret, dp[M][i]);
    return ret;
}

int main () {
    int cas;
    scanf("%d", &cas);
    for (int kcas = 1; kcas <= cas; kcas++) {
        init();
        printf("Case #%d: %.5lf\n", kcas, solve());
    }
    return 0;
}

http://www.niftyadmin.cn/n/1447085.html

相关文章

让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)

把 Windows 下的应用部署到 Linux 下&#xff0c;使用到了 Quartz 集群的特性&#xff0c;所以建了 MySql 的中间表&#xff0c;一启动看到报错&#xff1a; Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldnt retrieve tri…

支持中文的把普通字符串转成二进制字符串的函数(转)

支持中文的把普通字符串转成二进制字符串的函数 把普通字符串转成二进制字符串 Function str2bin(varstr)  str2bin""  For i1 To Len(varstr)    varcharmid(varstr,i,1)    varasc Asc(varchar)    If varasc<0 Then      varasc varasc 655…

后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data

论文标题&#xff1a;Black-box Detection of Backdoor Attacks with Limited Information and Data 论文单位&#xff1a; THBI Lab, Tsinghua University, Beijing 论文作者&#xff1a;Yinpeng Dong, Xiao Yang, Jun Zhu 收录会议&#xff1a;ICCV 2021 开源代码&#x…

fzu 2105 Digits Count 线段树

题目链接&#xff1a;http://acm.fzu.edu.cn/problem.php?pid2105 题意&#xff1a; 给出一个数组A[0]-A[n-1]&#xff0c;每个数最大是16。有4种操作&#xff1a; AND opn L R&#xff1a;L-R区间内的数都AND上opn这个数 OR opn L R&#xff1a;L-R区间内的数都OR上opn这个数…

2021年度总结—四非计算机保研经历(参营:清华网研院、中科大先研院、华师大数据科学院、厦大计算机系、上科大信息学院)

本人背景 本科&#xff1a;❌❌大学(非985、非211、非双一流&#xff0c;四非&#xff09; 专业&#xff1a;计算机科学与技术 Rank&#xff1a;专业1/245&#xff0c;学院1/593&#xff0c;保研率~2% 英语&#xff1a;四六级通过&#xff0c;六级飘过&#xff08;听说硬伤&am…

一篇文章帮你详细了解Greenplum迁移工具—GPCopy

以下资料是根据Pivotal Greenplum官网翻译、Grenplum中文社区博客以及个人测试所得&#xff0c;如有部分描述错误&#xff0c;欢迎下方评论指出&#xff0c;共同进步。 目录 一&#xff1a;gpcopy介绍 二&#xff1a;gpcopy相较于gptransfer 三&#xff1a;gpcopy版本发展史 四…

实战:网吧管理软件的破解与防范(转)

PUBWIN这个管理软件在网吧使用非常普及&#xff0c;它的使用、管理上非常方便&#xff0c;在国内网吧管理软件是首屈一指的。   今天我就讨论一下&#xff1a;PUBWIN的安全性。&#xff08;测试的的环境是安全性比较低的系统&#xff09; 一、破解篇&#xff1a;   1、客户…

Android拍照的那些事

http://www.jianshu.com/p/f269bcda335f转载于:https://www.cnblogs.com/kelina2mark/p/5522278.html