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

题意:n个学生m道题,一个n*m的矩阵代表第n个学生解第m题AC的概率,任意两学生做题数差距不能大于1,问AC所有题目概率的最大值

由于限制条件,所以一定是以n个学生为单位,一轮一轮的做题,直到做m题为止,这样题目就转化为了一个状态压缩dp,当状态为(1<<n)-1的时候清空状态

dp[i][j]表示AC 前i道题目状态为j的最大值

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <map>
#include <algorithm>
using namespace std ;
typedef __int64 ll ;
double dp[][] ;//
double p[][] ; int n,m ; int main()
{
int T ;
scanf("%d",&T) ;
for(int cas= ;cas<=T ;cas++)
{
scanf("%d%d",&n,&m) ;
for(int i= ;i<n ;i++)
{
for(int j= ;j<m ;j++)
scanf("%lf",&p[i][j]) ;
}
for(int i= ;i< ;i++)
for(int j= ;j< ;j++)
dp[i][j]=-1.0 ;
dp[][]=0.0 ;
int sm=(<<n)- ;
for(int i= ;i<m ;i++)
{
for(int s= ;s<=sm ;s++)
{
if(dp[i][s]<0.0)continue ;
int st= ;
for(int j= ;j<n ;j++)
{
if(!((<<j)&s))
{
st=(<<j)|s ;
if(st==sm)st= ;
dp[i+][st]=max(dp[i+][st],dp[i][s]+p[j][i]) ;
}
}
}
}
double ans=0.0 ;
for(int i= ;i<=sm ;i++)
ans=max(ans,dp[m][i]) ;
printf("Case #%d: %.5lf\n",cas,ans) ;
}
return ;
}

HDU 5045的更多相关文章

  1. HDU 5045 5047 5050 5053(上海网络赛E,F,I,L)

    HDU 5045 5047 5050 5053 太菜了,名额差点没保住.吓尿..赶紧开刷树链抛分 5045:状压DP.压缩10个人.因为两个人不能差2以上,所以能够用01表示 5047:推推公式就可以 ...

  2. hdu - 5045 - Contest(国家压缩dp)

    意甲冠军:N个人M通过主打歌有自己的期望,每个问题发送人玩.它不能超过随机播放的次数1,追求最大业绩预期 (1 ≤ N ≤ 10,1 ≤ M ≤ 1000). 主题链接:pid=5045" ...

  3. hdu 5045 N个人做M道题的正确率

    http://acm.hdu.edu.cn/showproblem.php?pid=5045 给出N个人做M道题的正确率,每道题只能由一个人做出,并且当所有人都做出来且仅做出一道题时,做过题的人才可以 ...

  4. HDU 5045 Contest

    pid=5045">主题链接~~> 做题感悟:比赛时这题后来才写的,有点小尴尬.两个人商议着写写了非常久才写出来,I want to Powerful ,I believe me ...

  5. HDU 5045 Contest(状压DP)

    Problem Description In the ACM International Collegiate Programming Contest, each team consist of th ...

  6. HDU 5045(Contest-费用流)[template:费用流]

    Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  7. [ACM] hdu 5045 Contest (减少国家Dp)

    Contest Problem Description In the ACM International Collegiate Programming Contest, each team consi ...

  8. hdu 5045 费用流

    滚动建图,最大费用流(每次仅仅有就10个点的二分图).复杂度,m/n*(n^2)(n<=10),今年网络赛唯一网络流题,被队友状压DP秒了....难道网络流要逐渐退出历史舞台???.... #i ...

  9. hdu 5045 Contest(状态压缩DP)

    题解:我们使用一个二位数组dp[i][j]记录进行到第i个任务时,人组合为j时的最大和(这里的j我们用二进制的每位相应一个人). 详细见代码: #include <iostream> #i ...

随机推荐

  1. Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. hdu5882 Balanced Game

    题目链接:hdu5882 Balanced Game 题解:每种手势的攻防数一样,不难想到n为奇数时游戏平衡. #include<cstdio> #include<cstring&g ...

  3. Error in Android Studio - "Default Activity Not Found"

    Make sure you have specified the default activity in your AndroidManisfest.xml file. Within your def ...

  4. BZOJ4007 [JLOI2015]战争调度

    根本想不出来... 原来还是暴力出奇迹啊QAQ 无限ymymym中 /************************************************************** Pr ...

  5. BZOJ一天提交 51纪念(二)

    今天作死又交了一发呢...于是屯题就全用完啦~ 有一次拷错CE,还有一次本来的程序就是错的的说... 可是我希望看到我努力的人并不会看到我的努力呢,尽管如此一个人也要坚持走到底哦,就如同这不完美的提交 ...

  6. struts2 拦截器 interceptor

    struts2 拦截器详解:http://struts2.group.iteye.com/group/wiki/1397-deep-into-struts2-interceptors

  7. [原创]checkstyle下载与安装

    checkstyle是一款功能很强的java静态代码检查工具,为eclipse的插件.在网上看了,大致有两种安装方法.第一种 为联网,在eclipse里输入URL下载:另一种为下载好插件后,离线安装. ...

  8. ASP.net 验证码(C#) MVC

    ASP.net 验证码(C#) MVC http://blog.163.com/xu_shuhao/blog/static/5257748720101022697309/ 网站添加验证码,主要为防止机 ...

  9. bzoj 2661: [BeiJing wc2012]连连看

    #include<cstdio> #include<iostream> #include<cstring> #include<cmath> #inclu ...

  10. Ajax入门

    实例如下: <html> <head> <script type="text/javascript"> function loadXMLDoc( ...