2014 ACM/ICPC
Asia Regional Shanghai Online

给出N个人做M道题的正确率,每道题仅仅能由一个人做出,而且当全部人都做出来且仅做出一道题时,做过题的人才干够继续做题,求最大期望。

一共仅仅有10个人,状压存储每一个人是否已经做出题目,假设都作出则状态清0。

#include "stdio.h"
#include "string.h" double Max(double a,double b)
{
if (a<b) return b;else return a;
}
double ans,dp[1010][1050],a[1010][1010];
int main()
{
int Case,ii,i,j,aim,k,n,m,peo; scanf("%d",&Case);
for (ii=1;ii<=Case;ii++)
{
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
scanf("%lf",&a[i][j]); printf("Case #%d: ",ii); aim=(1<<n)-1;
for (i=0;i<=m;i++)
for (j=0;j<=aim;j++)
dp[i][j]=-1; dp[0][0]=0; for (j=1;j<=m;j++)
for (i=0;i<=aim;i++)
if (dp[j-1][i]!=-1)
for (k=1;k<=n;k++)
{
peo=1<<(k-1);
if ((i&peo)==peo) continue;
peo|=i;
if (peo==aim) peo=0; dp[j][peo]=Max(dp[j][peo],dp[j-1][i]+a[k][j]);
}
ans=0;
for (i=0;i<=aim;i++)
ans=Max(ans,dp[m][i]); printf("%.5lf\n",ans);
}
}

HDU 5045 DP+状压的更多相关文章

  1. HDU 5045 Contest(状压DP)

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

  2. 【HDU】4352 XHXJ's LIS(数位dp+状压)

    题目 传送门:QWQ 分析 数位dp 状压一下现在的$ O(nlogn) $的$ LIS $的二分数组 数据小,所以更新时直接暴力不用二分了. 代码 #include <bits/stdc++. ...

  3. 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP

    [题意]n种宝物,k关游戏,每关游戏给出一种宝物,可捡可不捡.每种宝物有一个价值(有负数).每个宝物有前提宝物列表,必须在前面的关卡取得列表宝物才能捡起这个宝物,求期望收益.k<=100,n&l ...

  4. HDU 4284Travel(状压DP)

    HDU 4284    Travel 有N个城市,M条边和H个这个人(PP)必须要去的城市,在每个城市里他都必须要“打工”,打工需要花费Di,可以挣到Ci,每条边有一个花费,现在求PP可不可以从起点1 ...

  5. HDU 4336 Card Collector 期望dp+状压

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4336 Card Collector Time Limit: 2000/1000 MS (Java/O ...

  6. HDU 4336 容斥原理 || 状压DP

    状压DP :F(S)=Sum*F(S)+p(x1)*F(S^(1<<x1))+p(x2)*F(S^(1<<x2))...+1; F(S)表示取状态为S的牌的期望次数,Sum表示 ...

  7. hdu 4352 "XHXJ's LIS"(数位DP+状压DP+LIS)

    传送门 参考博文: [1]:http://www.voidcn.com/article/p-ehojgauy-ot.html 题解: 将数字num字符串化: 求[L,R]区间最长上升子序列长度为 K ...

  8. HDU - 5117 Fluorescent(状压dp+思维)

    原题链接 题意 有N个灯和M个开关,每个开关控制着一些灯,如果按下某个开关,就会让对应的灯切换状态:问在每个开关按下与否的一共2^m情况下,每种状态下亮灯的个数的立方的和. 思路1.首先注意到N< ...

  9. HDU.4352.XHXJ's LIS(数位DP 状压 LIS)

    题目链接 \(Description\) 求\([l,r]\)中有多少个数,满足把这个数的每一位从高位到低位写下来,其LIS长度为\(k\). \(Solution\) 数位DP. 至于怎么求LIS, ...

随机推荐

  1. android 添加新的键值,自定义按键【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  2. 关于Spring中的<context:annotation-config/>配置作用

    转自:https://www.cnblogs.com/iuranus/archive/2012/07/19/2599084.html 当我们需要使用BeanPostProcessor时,直接在Spri ...

  3. 2018亚洲区预选赛北京赛站网络赛 D.80 Days 尺取

    题面 题意:你带着K元要去n个城市,这n个城市是环形的,你可以选择任意一个起点,然后顺时针走,对于每个城市,到达时可以获得a元,但是从这里离开又需要花费b元,问你能否找到一个起点(输出花钱最少的那个) ...

  4. mvc中Html.AntiForgeryToken的作用和用法

    参考:http://blog.csdn.net/cpytiger/article/details/8781457

  5. Android View事件分发与传递

    在Android中,人们主要通过手指与系统交互.Android把所有的touch事件都被封装成MotionEvent来进行处理,其中包括了手指点击的位置,时间等信息.其事件类型主要包括:ACTION_ ...

  6. 使用纯 CSS 实现 Google Photos 照片列表布局

    文章太长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读的同学可以直接跳到最后一个大标题之后看代码.demo及原理就好,或者也可以直接看下面这个链接的源代码. 不过还是建议顺序读下去,因为后 ...

  7. Spring @Scheduled 注解 定时器例子

    <!--xmlns 多加下面的内容--> xmlns:task="http://www.springframework.org/schema/task" <!-- ...

  8. hdu1829 A Bug's Life 基础种类并查集

    题目的大意可以理解为:A爱B,B爱C ……给出一系列爱恋的关系,推断有没有同性恋. 思路是把相同性别的归为一个集合(等价类),异性的异性为同性. #include<iostream> #i ...

  9. shell学习第一弹-初识

    1.shell简介: shell是系统的用户界面,提供了用户与内核进行交互的一种接口.可以看做是用户与内核之间的一扇窗户.它接收用户输入的命令并把它送入内核执行. 常见的有bash,tcsh,csh, ...

  10. undefined reference to “boost” in Qt—Ubuntu

    一:使用PCL时遇到的问题 原因:缺少boost的lib包含: 在Pro文件里面添加: LIBS += -lboost_system .....................等库文件包含 二:编译B ...