神仙题,抄题解

用\(tp_i\)表示\(i\)这个技能在\(r\)轮中被使用过的概率

于是最后的答案就是\(\sum_{i=1}^nd_i*tp_i\)

首先\(tp_1=1-(1-p_1)^r\),也就是连续\(r\)轮都没有使用的概率

之后往下的\(tp\)靠\(dp\)来求

设\(dp_{i,j}\)表示在一共\(r\)轮里,前\(i\)个恰好有\(j\)个被发动的概率

那么

\[tp_i=1-\sum_{j=0}^rdp_{i-1,j}*(1-p_i)^{r-j}
\]

还是先算一下这个技能一直都没有发动的概率,如果前面有\(j\)个技能使用了,那么那对应的轮次是一定不会使用当前技能的,剩下的轮次,也就是\(r-j\)轮我们让其不发动就好了

之后是\(dp_{i,j}\)的转移

如果这一个技能并没有发动,那么就从\(dp_{i-1,j}\)转移过来

\[dp_{i,j}=dp_{i-1,j}*(1-p_i)^{r-j}
\]

如果这个技能发动了,那么就需要从前面的\(dp_{i-1,j-1}\)转移

\[dp_{i,j}=dp_{i-1,j-1}*(1-(1-p_i)^{r-j+1})
\]

我们还是先令技能\(i\)不发动,那么前面就会有\(r-j+1\)个轮次可能发动,我们都让其不发动,之后拿\(1\)减掉,就是发动的概率了

代码

#include<iostream>
#include<cstring>
#include<cstdio>
#define re register
#define maxn 225
#define min(a,b) ((a)<(b)?(a):(b))
double dp[maxn][maxn];
double p[maxn];
int d[maxn],n,T,m;
double tp[maxn];
inline double quick(double a,int b)
{
double S=1.0;
while(b) {if(b&1) S*=a;b>>=1,a*=a;}
return S;
}
int main()
{
scanf("%d",&T);
while(T--)
{
memset(dp,0,sizeof(dp));
memset(p,0,sizeof(p));
memset(tp,0,sizeof(tp)),
memset(d,0,sizeof(d));
scanf("%d%d",&n,&m);
for(re int i=1;i<=n;i++)
scanf("%lf%d",&p[i],&d[i]);
dp[1][0]=quick((1-p[1]),m);
dp[1][1]=1-dp[1][0];
tp[1]=dp[1][1];
for(re int i=2;i<=n;i++)
{
for(re int j=0;j<=min(i-1,m);j++)
tp[i]+=dp[i-1][j]*quick((1-p[i]),m-j);
tp[i]=1-tp[i];
for(re int j=0;j<=min(i,m);j++)
{
dp[i][j]=dp[i-1][j]*quick((1-p[i]),m-j);
if(j) dp[i][j]+=dp[i-1][j-1]*(1-quick((1-p[i]),m-j+1));
}
}
double ans=0;
for(re int i=1;i<=n;i++)
ans+=tp[i]*d[i];
printf("%.10lf",ans),putchar(10);
}
return 0;
}

【[HNOI2015]亚瑟王】的更多相关文章

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

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

  2. BZOJ 4008: [HNOI2015]亚瑟王( dp )

    dp(i, j)表示考虑了前i张牌, 然后还有j轮的概率. 考虑第i+1张牌: 发动的概率 : p = dp(i, j) * (1 - (1-p[i+1])^j) 没发动的概率 : dp(i, j) ...

  3. 【BZOJ4008】[HNOI2015]亚瑟王(动态规划)

    [BZOJ4008][HNOI2015]亚瑟王(动态规划) 题面 BZOJ 洛谷 题解 设\(f[i][j]\)表示前\(i\)张卡中有\(j\)张被触发的概率. 分两种情况转移,即当前这张是否被触发 ...

  4. [洛谷 P3239] [HNOI2015]亚瑟王

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

  5. 4008: [HNOI2015]亚瑟王

    4008: [HNOI2015]亚瑟王 链接 分析: 根据期望的线性性,直接求出每张牌出现的概率,最后乘以攻击力就是答案. 每张牌出现的概率只与它前面的牌有关,与后面的没有关系,于是按顺序考虑每张牌. ...

  6. Luogu_3239 [HNOI2015]亚瑟王

    Luogu_3239 [HNOI2015]亚瑟王 vim-markdown 真好用 这个题难了我一下午 第一道概率正而八经\(DP\),还是通过qbxt讲解才会做的. 发现Sengxian真是个dal ...

  7. 【BZOJ4008】[HNOI2015]亚瑟王

    [BZOJ4008][HNOI2015]亚瑟王 题面 bzoj 洛谷 题解 由期望的线性性 可以知道,把所有牌打出的概率乘上它的伤害加起来就是答案 记第$i$张牌打出的概率为$fp[i]$ 则 $$ ...

  8. bzoj[HNOI2015]亚瑟王 - 递推与动规 - 概率与期望

    [bzoj4008][HNOI2015]亚瑟王 2015年4月22日3,2991 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之 ...

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

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

  10. Bzoj4008 [HNOI2015]亚瑟王

    Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Submit: 1009  Solved: 605[Submit][Status] ...

随机推荐

  1. Apache mod_rewrite

    mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法!对初学者很有用的哦! 1.检测Apache是否支持mod_rewrite phpinfo() ...

  2. PictureBox控件

    PictureBox控件可以显示来自位图.图标或者元文件,以及来自增强的元文件.JPEG.GIF文件的图形,如果控件不足以显示整幅图像,则裁剪图像以适应控件的大小. Sizemode 图片的大小方式 ...

  3. MongoDB 从入门到精通

    1,安装并启动数据库       从官网(www.mongodb.org/downloads)下载一个适合你平台的版本,我的系统是win7 64位的,下载文件也就10几M,将下载的文件解压放到任何目录 ...

  4. JSON 教程

    1JSON 1.什么是 JSON ? 1.1JSON:JavaScript 对象表示法(JavaScript Object Notation). 1.2JSON 是存储和交换文本信息的语法.类似 XM ...

  5. 如鹏网学习笔记(十二)HTML5

    一.HTML5简介 HTML5是HTML语言第五次修改产生的新的HTML语言版本 改进主要包括: 增加新的HTML标签或者属性.新的CSS样式属性.新的JavaScript API等.同时删除了一些过 ...

  6. 【原】spring boot source 1.5 中不支持 diamond 运算符

    最近要开发新的项目,就花了几天时间看了下spring boot的相关资料,然后做了一个demo,不得不说开发效率确实很快,几行注解就完成了事务,aop,数据库等相关配置:但由于先前习惯了spring ...

  7. 从Eclipse切换到IDEA工具,哎~真香!

    从Eclipse切换到IDEA工具,哎~真香!(图) 个人观点:IDEA工具用了就回不去了!!!对比很多人写,我就不赘述了.我在这里主要介绍一下IDEA工具的一些使用上的技巧,毕竟我开始学习java的 ...

  8. 【SSH网上商城项目实战22】获取银行图标以及支付页面的显示

        转自: https://blog.csdn.net/eson_15/article/details/51452243 从上一节的小demo中我们搞清楚了如何跟易宝对接以及易宝的支付流程.这一节 ...

  9. SQLServer数据库系统概念

    数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...

  10. Shellinabox安装及使用教程

    本文转载自: shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 一.shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和P ...