题目传送门

题目大意: 有 nnn 个物品,进行 rrr 轮游戏,每轮中从左到右依次选择物品,每个物品有 p[i]p[i]p[i] 的几率被选到,被选过的不会再选,每轮游戏只选一个物品,第 iii 个物品价值为 d[i]d[i]d[i],问期望价值。

题解

第 iii 个物品在 rrr 轮游戏中被选到的几率取决去前 i−1i-1i−1 个物品有多少个被选到了,假如有 kkk 个,那么第 iii 个物品被选到的概率就是 1−(1−p[i])r−k1-(1-p[i])^{r-k}1−(1−p[i])r−k,(1−p[i])r−k(1-p[i])^{r-k}(1−p[i])r−k 的意思是剩下 r−kr-kr−k 轮中每一轮都选不到 iii 的概率,用 111 减掉就是有任意一轮选到的概率了。

那么可以得到递推方程:设 f[i][j]f[i][j]f[i][j] 表示在 rrr 轮游戏中前 iii 个物品有 jjj 个被选到的概率,那么有
f[i][j]=f[i−1][j−1]×(1−(1−p[i])r−j+1)[j>0]+f[i−1][j]×(1−p[i])r−j\begin{aligned} f[i][j]=&f[i-1][j-1]\times (1-(1-p[i])^{r-j+1})[j>0]+\\ &f[i-1][j]\times(1-p[i])^{r-j} \end{aligned} f[i][j]=​f[i−1][j−1]×(1−(1−p[i])r−j+1)[j>0]+f[i−1][j]×(1−p[i])r−j​

柿子中上面的表示选到第 iii 个的概率,下面表示选不到的概率。

求出 fff 之后,我们就可以得到每个物品被选到的概率,用这个概率乘上每个物品的价值再求个和就是答案了。

第 iii 个物品被选到的概率:
∑j=0min⁡(i,r)−1f[i−1][j]×(1−(1−p[i])r−j)\sum_{j=0}^{\min(i,r)-1}f[i-1][j]\times(1-(1-p[i])^{r-j}) j=0∑min(i,r)−1​f[i−1][j]×(1−(1−p[i])r−j)

如果你在洛谷拿到了 404040 分的好成绩,那么就要注意数组初始化答案是否换行的问题了。

代码如下:

#include <cstdio>
#include <algorithm>
using namespace std;
#define maxn 230int T,n,r;
double p[maxn],d[maxn],f[maxn][maxn],ans=0;
double ksm(double x,int y)
{double re=1;while(y){if(y&1)re*=x;x*=x;y>>=1;}return re;
}int main()
{scanf("%d",&T);while(T--){scanf("%d %d",&n,&r);for(int i=1;i<=n;i++)scanf("%lf %lf",&p[i],&d[i]);f[0][0]=1;ans=0;for(int i=1;i<=n;i++)for(int j=0;j<=min(i,r);j++){f[i][j]=ksm(1-p[i],r-j)*f[i-1][j];if(j)f[i][j]+=(1-ksm(1-p[i],r-j+1))*f[i-1][j-1];}for(int i=1;i<=n;i++){double tot=0;for(int j=0;j<=min(i,r)-1;j++)tot+=(1-ksm(1-p[i],r-j))*f[i-1][j];ans+=tot*d[i];}printf("%.10lf\n",ans);}
}

HNOI 2015 亚瑟王 题解相关推荐

  1. [BZOJ4008]亚瑟王

    Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...

  2. 乖离性暗机器人_《乖离性百万亚瑟王》国服超弩暗机器人平民通关攻略

    乖离性百万亚瑟王国服第一次迎来新的机器人类型BOSS,难度还是比较大的!在打暗机器人的时候有什么需要注意的细节,我们一起来看看吧! 首先介绍一下暗机器人的属性数据: 属性:暗系 接下来介绍一下BOSS ...

  3. SSD成就了《扩散性百万亚瑟王》

    盛大网络最近上线了一款手机游戏<扩散性百万亚瑟王>.游戏推出的当周,盛大的股票上涨了30%.这款一上线就受到广泛欢迎的游戏后端支持平台就采用了英特尔针对数据中心的DC系列S3700和S35 ...

  4. [HNOI2015]亚瑟王

    题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能 ...

  5. 亚瑟王(bzoj 4008)

    Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...

  6. 乖离性暗机器人_乖离性百万亚瑟王国服超弩暗机器人如何打|乖离性百万亚瑟王国服超弩暗机器人平民打法攻略分享_好特教程...

    <乖离性百万亚瑟王>国服近日迎来了新的机器人类型BOSS,难度不小,那么在打暗机器人的时候有什么需要注意的细节呢?下面我们就一起来看看吧. 首先介绍一下暗机器人的属性数据: 属性:暗系 接 ...

  7. 【BZOJ4008】【HNOI2015】亚瑟王 [期望DP]

    亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MB [Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了, ...

  8. BZOJ-4008: [HNOI2015]亚瑟王 (概率期望DP)

    4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Submit: 1627  Solved: ...

  9. 唐 库利超级计算机,第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望...

    第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望 赫布里底训练大厅. "诸位,结果已经分析出来了,丘库林,也就是被你们捉到的闯入者,他身上的神装的确是断绝时代的遗物不错,而且,这件神 ...

  10. 概率DP——BZOJ4008 [HNOI2015]亚瑟王

    [HNOI2015]亚瑟王 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 ...

最新文章

  1. 字符串匹配算法 KMP
  2. ListView性能[译]
  3. centos修改SSH端口并禁用root远程登录
  4. 二 查看oracle归档日志路径
  5. C++ Primer 5th笔记(chap 15 OOP)构造函数和拷贝控制
  6. scp 是我小看了你-基于密钥传输!
  7. Kaggle入门 (Titanic TensorFlow Softmax)
  8. JAVA面向对象-----instanceof 关键字
  9. java中a 和 a_Java中的a++和++a的区别 | 学步园
  10. jpg png jpeg 图片无损压缩工具
  11. IE常见bug及其修复方法
  12. oracle中常用函数学习
  13. html追加消除,HTML/CSS:在中间清除浮动元素而不添加不需要的标签
  14. 数据结构与算法经典问题解析 Java语言描述pdf
  15. 计算机默认网络密码是多少,中国电信的默认服务密码是什么
  16. antd4.0中Form使用initialValue
  17. 国内 Top2 高校研一在读,为什么感觉深度学习越学越懵?
  18. 洛谷P4643 [国家集训队]阿狸和桃子的游戏
  19. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用ggcoxzph函数可视化进行Schoenfeld残差图检验模型是否满足等比例风险
  20. 【LaTex】常用特殊符号对应表

热门文章

  1. 从吴军的书《见识》总结的49条商业本质、为人方法
  2. 用 GNS3 做CCNA网络实验(4)
  3. 温度转换示例(有每一步代码的解释)
  4. 故事板(Storyboard)
  5. 年审是当月还是当天_车辆年审到期是指当月吗?
  6. 年审是当月还是当天_年审年检7月当月审可以吗
  7. java发送邮件带图片和附件
  8. MVC下压缩输入的HTML内容
  9. Codewar刷题总结
  10. Predicting Human Mobility via Graph Convolutional Dual-attentive Networks