●Joyoi 收集邮票
题链:
http://www.joyoi.cn/problem/tyvj-2325
题解.1:
期望dp,(平方的期望不等于期望的平方。。。)
在这个题上坑了好久,也算是对期望的理解又深了一些。
很好的题解:http://www.cnblogs.com/ezyzy/p/6475861.html
再阐述一下平方的期望是在什么情况下可以递推的:
对于一个随机变量x,我们知道其每个取值的概率,
那么我们容易由定义得出这个随机变量的期望E(x)=p1*x1+p2*x2+...,
以及这个随机变量的平方的期望E(x²)=p1*x1²+p2*x2²+...。
现在由于种种原因,假设我们需要求出在这个随机变量的每个取值都加1但是概率不变的情况下的新的平方的期望E'(x²)=p1*(x1+1)²+p2*(x2+1)²+...,
(注意,只是权值改变,对应概率未变)
那么这个时候就可以用平方的期望的递推式子了:E'(x²)=E(x²)+2*E(x)+1反观这类题目的dp转移往往是分为当前状态成功与否两种情况,
而当我们确定了某种情况后,接下来就需要计算当前+后面的东西的总期望,再乘上这种情况的概率。
因为已确定了是成功还是失败,所以当前状态对期望的贡献只是在随机变量的取值上,而没有影响到其概率分布,所以才可以直接使用平方的期望的递推式子。
代码.1:
#include<bits/stdc++.h>
#define MAXN 10005
using namespace std;
double g[MAXN],f[MAXN];
int N;
int main(){
ios::sync_with_stdio(0);
cin>>N;
for(int i=N-1;i>=0;i--){
f[i]=f[i+1]+1.0*N/(N-i);
g[i]=1.0*i/N*(2*f[i]+1)+1.0*(N-i)/N*(g[i+1]+2*f[i+1]+1);
g[i]=g[i]/(N-i)*N;
}
cout<<fixed<<setprecision(2)<<(g[0]+f[0])/2<<endl;
return 0;
}
题解.2:
求期望。。。
正向枚举已经收集了i个,并计算收集第i个时的相关信息与贡献,
令a[i]表示收集了i个时期望购买了a次。
那么a[i+1]=a[i]+N/(N-i) (加上收集第i+1个时期望的购买次数)
然后要求收集第i+1个时期望的花费,
首先之前已经期望购买了a次,那么我们考虑:
首先一定要先买一次,价格为a+1
如果没买到(概率为i/N),再买一次,价格为a+2
如果还没买到(概率为(i/N)²),在买一次,价格为a+3
....(子子孙孙,无穷匮也。。。)
那么可以列出期望花费的式子:令p=i/N
A=(a+1)+(a+2)*p+(a+3)*p²+(a+4)*p³+.... [1]式
然后我们要求A的值,用错位相减法的得到,即:
A*p= (a+1)*p+(a+2)*p²+(a+3)*p³+.... [2]式
[1]式-[2]式:
(1-p)*A=a+1+p+p²+p³+...,是一个无穷项的等比数列
=a+1/(1-p)
所以得到A=(a+1/(1-p))/(1-p)
然后把A加进答案ans即可,(期望的线性可加性嘛,A即表示收集第i+1个所期望的花费)
代码.2:
#include<bits/stdc++.h>
#define MAXN 100005
using namespace std;
double p,a,ANS;
int N;
int main(){
ios::sync_with_stdio(0);
cin>>N;
for(int i=0;i<N;i++){
ANS+=(a+1.0*N/(N-i))/(1-1.0*i/N);
a+=1.0*N/(N-i);
}
cout<<fixed<<setprecision(2)<<ANS<<endl;
return 0;
}
●Joyoi 收集邮票的更多相关文章
- 【BZOJ-1426】收集邮票 概率与期望DP
1426: 收集邮票 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 261 Solved: 209[Submit][Status][Discuss] ...
- 【BZOJ1426】收集邮票 期望
[BZOJ1426]收集邮票 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的, ...
- P4550 收集邮票
P4550 收集邮票 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由 ...
- 收集邮票 (概率dp)
收集邮票 (概率dp) 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率 ...
- Bzoj1426 收集邮票
Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 292 Solved: 232 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一 ...
- 【bzoj1426】收集邮票
题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所 ...
- BZOJ 1426: 收集邮票 [DP 期望 平方]
传送门 题意: 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮 ...
- bzoj 1426:收集邮票 求平方的期望
显然如果收集了k天,ans=k*(k+1)/2=(k^2+k)/2.那么现在要求的就是这个东西的期望. 设f[i]表示已有i张邮票,收集到n张的期望次数,g[i]表示已有i张邮票,收集到n张的次数的平 ...
- P4550 收集邮票-洛谷luogu
传送门 题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢 ...
随机推荐
- C语言程序设计(基础)- 第0次作业
亲爱的同学们,恭喜你成为一名大学生,我也很荣幸能够带大家一起学习大学的第一门专业基础课.还在军训的你,肯定对大学生活和计算机专业有着美好的憧憬,那么大学生活是什么样子的那?计算机专业应该怎么学习那?请 ...
- 听翁恺老师mooc笔记(5)--指针与数组
如果我们通过函数的参数将一个数组传递到参数中去,那么在函数里接收到的是什么东西呢?我们知道如果传递一个普通变量,那么参数接收到的是值,如果传递一个指针变量,参数接收到的也是值,只不过这时的值是地址.那 ...
- 201621123050 《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出现 ...
- node.js基础
//安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org//require表示引包,引包就是引用自己的一个特 ...
- Codeforces 193 D. Two Segments
http://codeforces.com/contest/193/problem/D 题意: 给一个1~n的排列,在这个排列中选出两段区间,求使选出的元素排序后构成公差为1的等差数列的方案数. 换个 ...
- java8-Stream之数值流
在Stream里元素都是对象,那么,当我们操作一个数字流的时候就不得不考虑一个问题,拆箱和装箱.虽然自动拆箱不需要我们处理,但依旧有隐含的成本在里面.Java8引入了3个原始类型特化流接口来解决这个问 ...
- fabric.js和高级画板
本文介绍fabric.js框架使用,以及使用fabricjs打造一个高级画板程序. 高级画板功能介绍 全局绘制颜色选择 护眼模式.网格模式切换 自由绘制 画箭头 画直线 画虚线 画圆/椭圆/矩形/直角 ...
- 点开GitHub之后,瑟瑟发抖...的我
我说句实在话啊,GitHub这个网址真的很能勾起人学习的欲望,一进入GitHub的注册页面真的让我这个英语学渣瑟瑟发抖,瞬间立下个flag:好好学习英语..... 我对python的求知欲怎么能被英语 ...
- Python-基础学习-Day1
1 Python介绍 1.1 Python 是一门什么样的语言? python是一门动态解释性的强类型定义语言. 编译型的特点:可一致性差,运行速度快. 解释型的特点:边执行边解释,速度慢 1.2 P ...
- GIT入门笔记(17)- 创建分支dev_lsq, 提交到代码
git服务器上默认的已经有主干和test分支. 开发人员提交代码流程如下: 1.用switch to->new branch创建dev1分支 2.push branch提交到dev1分支 3.在 ...