2018.08.31 bzoj1426 收集邮票(期望dp)
描述
有n种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第k 张邮票需要支付k元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望.
输入
一行,一个数字N,N<=10000
输出
要付出多少钱. 保留二位小数
样例输入
3
样例输出
21.25
标签
bzoj1426
期望dp好题。
这题貌似要倒起推状态。
我们用g[i]表示已经收集i种邮票,收集全需要的期望次数。
f[i]表示已经收集i种邮票,收集全需要的期望花费。
这样发现
i的状态有i/n" role="presentation" style="position: relative;">i/ni/n的概率还是i的状态,有(n−i)/n" role="presentation" style="position: relative;">(n−i)/n(n−i)/n的概率变成(i+1)的状态(因此倒着推方便)。
于是有状态转移方程(化简后):
g[i]=g[i+1]+n/(n−i)" role="presentation" style="position: relative;">g[i]=g[i+1]+n/(n−i)g[i]=g[i+1]+n/(n−i)
f[i]=g[i]∗(n/(n−i))+f[i+1]" role="presentation" style="position: relative;">f[i]=g[i]∗(n/(n−i))+f[i+1]f[i]=g[i]∗(n/(n−i))+f[i+1]
代码:
#include<bits/stdc++.h>
#define N 10005
using namespace std;
int n;
double f[N],g[N];
int main(){
cin>>n,f[n]=0,g[n]=0;
for(int i=n-1;~i;--i)g[i]=g[i+1]+1.0*n/(n-i),f[i]=1.0*n*g[i]/(n-i)+f[i+1];
printf("%.2lf",f[0]);
return 0;
}
2018.08.31 bzoj1426 收集邮票(期望dp)的更多相关文章
- 【BZOJ】1426: 收集邮票 期望DP
[题意]有n种不同的邮票,第i次可以花i元等概率购买到一种邮票,求集齐n种邮票的期望代价.n<=10^4. [算法]期望DP [题解]首先设g[i]表示已拥有i张邮票集齐的期望购买次数,根据全期 ...
- 2018.08.30 bzoj4318: OSU!(期望dp)
传送门 简单期望dp. 感觉跟Easy差不多,就是把平方差量进阶成了立方差量,原本维护的是(x+1)2−x2" role="presentation" style=&qu ...
- 2018.08.30 Tyvj1952 Easy(期望dp)
Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连 ...
- 【BZOJ1426】收集邮票 期望DP
题目大意 有\(n\)种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是\(n\)种邮票中的哪一种是等概率的,概率均为\(\frac{1} ...
- 收集邮票 (概率dp)
收集邮票 (概率dp) 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率 ...
- 【BZOJ1426】收集邮票 期望
[BZOJ1426]收集邮票 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的, ...
- 2018.08.31 bzoj1419 Red is good(期望dp)
描述 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 输入 一行输入两个数R,B,其 ...
- bzoj1426 (洛谷P4550) 收集邮票——期望
题目:https://www.luogu.org/problemnew/show/P4550 推式子……:https://blog.csdn.net/pygbingshen/article/detai ...
- 2018.08.31 bzoj3566: [SHOI2014]概率充电器(概率dp+容斥原理)
传送门 概率dp好题啊. 用f[i]" role="presentation" style="position: relative;">f[i] ...
随机推荐
- 2.vo传参模式和ModerDriven传参模式
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html Copy上面的myStruts2项目,改名为myStruts2Vo项目.作如 ...
- scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
转自:https://blog.csdn.net/lzj0470/article/details/17786587 quartz版本号:2.1.7 错误: Caused by: <a href= ...
- Spring MVC 自定义类型转换器
新建一个自定义转换器 import org.springframework.core.convert.converter.Converter; import org.springframework.s ...
- js ParseUrl
js ParseUrl function parseURL(url) { var a = document.createElement('a'); a.href = url; return { sou ...
- Spring AsyncRestTemplate
类说明 AsyncRestTemplate 是 Spring中提供异步的客户端HTTP访问的核心类.与RestTemplate类相似,它提供了一些类似的方法,只不过返回类型不是具体的结果,而是List ...
- tomcat 管理端 安全措施
由于公司的项目并未启用nginx负载均衡,所以自然也没用到tomcat与web应用一对一的安全操作,经常会遇到 重启单个应用又不想重启tomcat的情况.同时,又出于安全考虑,将tomcat的默认管理 ...
- go 格式化时间戳
func main() { //获取时间戳 timestamp := time.Now().Unix() fmt.Println(timestamp) //格式化为字符串,tm为Time类型 tm : ...
- Cannot resolve class or package 'dbcp' Cannot resolve class 'BasicDataSource'
在applicationContext.xml中配置数据源时,报错如下: Cannot resolve class or package 'dbcp' Cannot resolve class 'Ba ...
- 第八章 高级搜索树 (a2)伸展树:双层伸展
- C++,坑...
如果使用const全局变量,记得声明处的引用处都加extern. uint32_t等,t代表是typedef的,在stdint.h头文件里,C99后引入,记得先测试再用. accept函数的参数,记得 ...