因为每次选择都是有后效性的,直接dp肯定不行,所以需要逆推。

f[i][j]表示从第i次开始,初始状态为j的期望收益

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int bit[18],K,n,aa,ned[18],a[18];
double f[105][1<<17];
int main()
{bit[0]=1;for(int i=1;i<=16;i++) bit[i]=bit[i-1]<<1;scanf("%d%d",&K,&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);scanf("%d",&aa);while(aa){ned[i]|=bit[aa-1];scanf("%d",&aa);}}for(int i=K;i>=1;i--)for(int j=0;j<bit[n];j++){for(int k=1;k<=n;k++){if((j&ned[k])==ned[k])f[i][j]+=max(f[i+1][j],f[i+1][j|bit[k-1]]+a[k]);elsef[i][j]+=f[i+1][j];}f[i][j]/=n;}printf("%0.6lf\n",f[1][0]);return 0;
}

转载于:https://www.cnblogs.com/Ren-Ivan/p/7746765.html

bzoj 1076 奖励关 状压+期望dp相关推荐

  1. P2473 奖励关 状压概率DP求期望

    题目链接 https://www.luogu.com.cn/problem/P2473 题意 n轮,m种球,每轮随即一个球,可以接可以不接,接的话需要满足这个球的前置条件(比如3号球接球必须已经接过1 ...

  2. 2021 ccpc 哈尔滨 G. Damaged Bicycle 状压 + 期望dp

    文章目录 题意: 思路: 传送门 题意: 你需要从111走到nnn,初始速度是ttt,某些地方有自行车,每个位置自行车有pip_ipi​的概率是坏掉的,如果自行车没坏可以骑上自行车,速度是rrr,可以 ...

  3. HDU 4336 Card Collector(状压 + 概率DP 期望)题解

    题意:每包干脆面可能开出卡或者什么都没有,一共n种卡,每种卡每包爆率pi,问收齐n种卡的期望 思路:期望求解公式为:$E(x) = \sum_{i=1}^{k}pi * xi + (1 - \sum_ ...

  4. BZOJ 2073: [POI2004]PRZ( 状压dp )

    早上这道题没调完就去玩NOI网络同步赛了.... 状压dp , dp( s ) 表示 s 状态下所用的最短时间 , 转移就直接暴力枚举子集 . 可以先预处理出每个状态下的重量和时间的信息 . 复杂度是 ...

  5. BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )

    状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...

  6. BZOJ 2004 公交线路(状压DP+矩阵快速幂)

    注意到每个路线相邻车站的距离不超过K,也就是说我们可以对连续K个车站的状态进行状压. 然后状压DP一下,用矩阵快速幂加速运算即可. #include <stdio.h> #include ...

  7. bzoj 2073:[POI2004]PRZ 状压DP

    Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的人都不能超过一定的限制. 所以这只队伍 ...

  8. BZOJ 2560: 串珠子 (状压DP+枚举子集补集+容斥)

    (Noip提高组及以下),有意者请联系Lydsy2012@163.com,仅限教师及家长用户. 2560: 串珠子 Time Limit: 10 Sec Memory Limit: 128 MB Su ...

  9. bzoj4565 [HAOI2016]字符合并 结论+状压+区间dp

    如果k==2的话就是记搜, 但这个题用记搜的思路的话是需要枚举k个断点的, 所以对于枚举断点,就很可能有优化,比如到一个断点,一个决策的最优值 于是考虑区间dp模型,相当于是插入一个数,然后看影响. ...

最新文章

  1. 激光打标软件_走向工业自动化生产之路——激光飞行打标
  2. 如何动态添加菜单/菜单项、子菜单、右键菜单
  3. spark rdd saveAsTextFile保存为文件
  4. CTFshow 命令执行 web31
  5. 网络编程(32)—— linux中销毁僵尸进程的四种方法
  6. ios mysql注册登录界面_iOS+PHP实现登录功能
  7. 分析师称iPhone 13将支持卫星通信,但仅限特定市场
  8. python 获取当前目录,上级目录,上上级目录
  9. 怎么学习PLC技术?
  10. 实验九 TCP 协议分析实验
  11. assimp android build,Windows环境下编译Assimp库生成Android可用的.so或.a文件
  12. Python3使用SMTP协议发送电子邮件
  13. window设置oracle sid,window下改oracle_sid
  14. Android中使用AudioManager实现按键录音并保存以及点击播放功能
  15. VM虚拟机更换网络环境后无法连接网络
  16. 统计学 统计值判断标准
  17. 【Python】制作圆角图像的两种方案对比
  18. CAN与CANOpen(一)
  19. python 发红包import random用redenv_python 发红包
  20. 计算带余除法------C语言

热门文章

  1. 数据结构之链表及实现
  2. selenium——元素的定位
  3. CountDownLatch和cyclicbarrier的使用
  4. 题目1008:最短路径问题(SPFA算法)
  5. 【C++】C++为什么要引入引用这个复合类型?
  6. [翻译]NUnit---Explicit and Ignore Attributes(十二)
  7. IT公司组织机构和职位、职位职责
  8. 1.4 多项式拟合实例
  9. tarfile读文件python_Python中使用tarfile压缩、解压tar归档文件示例
  10. 系统待办事项设计_B端产品工作台设计详解