题解 洛谷P4550/BZOJ1426 【收集邮票】
这显然是一道概率的题目(废话)
设发\(f[i]\)表示买到第\(i\)张邮票还需要购买的期望次数,\(g[i]\)表示买到第\(i\)张邮票还需要期望花费的钱。
那么答案显然为\(g[0]\),我们来考虑怎么转移。
对于\(f[i]\),有三种情况:
- 现在有\(\frac{i}{n}\)的几率会买到重复的邮票,即\(f[i] \times \frac{i}{n}\).
- 现在有\(\frac{n-i}{n}\)的几率会买到新的邮票,即\(f[i+1] \times \frac{n-i}{n}\).
- 花费\(1\)次买现在的邮票。
所以我们可以列出:\(f[i]=f[i] \times \frac{i}{n} + f[i+1] \times \frac{n-i}{n} +1\).
方程较复杂,我们来化简一下。
\(f[i] - f[i] \times \frac{i}{n} =f[i+1] \times \frac{n-i}{n} +1\)
\(f[i] \times \frac{n-i}{n} =f[i+1] \times \frac{n-i}{n} +1\)
$f[i] =f[i+1] \times \frac{n}{n-i} $
我们可以知道\(f[n]\)是等于\(0\)的,所以倒推即可。
那对于\(g[i]\)怎么办呢?
同理,\(g[i]\)的推导跟\(f[i]\)类似,也分为买到自己已有的邮票和没有的邮票两种情况,即:
$g[i]=(f[i]+g[i]+1) \times \frac{i}{n} + (f[i+1]+g[i+1]+1) \times \frac{n-i}{n} $
同时我们也来化简一下:
$g[i]=\frac{i}{n}f[i]+\frac{i}{n}g[i] + \frac{n-i}{n}(f[i+1]+g[i+1]) +1 \(
\)\frac{n-i}{n}g[i]=\frac{i}{n}f[i] + \frac{n-i}{n}(f[i+1]+g[i+1]) +1 \(
\)g[i]=\frac{i}{n-i}f[i] + f[i+1]+g[i+1] +\frac{n}{n-i} $
\(g[n]\)仍然为0,我们还是可以倒推。
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define RI register int
using namespace std;
const int N=1e4+2;
int n;double f[N],g[N];
inline double S(int x,int y){return (1.0*x)/(1.0*y);}
int main(){
scanf("%d",&n);
for(register int i=n-1;~i;--i){
f[i]=f[i+1]+S(n,n-i);
g[i]=S(i,n-i)*f[i]+g[i+1]+f[i+1]+S(n,n-i);
}printf("%.2lf",g[0]);
return 0;
}
题解 洛谷P4550/BZOJ1426 【收集邮票】的更多相关文章
- 洛谷P4550 【收集邮票】
题目链接: 神仙题QAQ 题目分析: 概率期望题是不可能会的,一辈子都不可能会的QAQ 这个题也太仙了 首先明确一下题意里面我感觉没太说清楚的地方,这里是抽到第\(i\)次要\(i\)元钱,不是抽到第 ...
- 洛谷 P3800 Power收集
题目背景 据说在红雾异变时,博丽灵梦单身前往红魔馆,用十分强硬的手段将事件解决了. 然而当时灵梦在Power达到MAX之前,不具有“上线收点”的能力,所以她想要知道她能收集多少P点,然而这个问题她答不 ...
- 题解 洛谷P5018【对称二叉树】(noip2018T4)
\(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...
- 题解 洛谷 P3396 【哈希冲突】(根号分治)
根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...
- 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)
题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...
- 题解-洛谷P4229 某位歌姬的故事
题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...
- 题解-洛谷P4724 【模板】三维凸包
洛谷P4724 [模板]三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积. 数据范围:\(1\le n\le 2000\). 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积 ...
- 题解-洛谷P4859 已经没有什么好害怕的了
洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...
- 题解-洛谷P5217 贫穷
洛谷P5217 贫穷 给定长度为 \(n\) 的初始文本 \(s\),有 \(m\) 个如下操作: \(\texttt{I x c}\),在第 \(x\) 个字母后面插入一个 \(c\). \(\te ...
随机推荐
- 【转载】Java方向如何准备BAT技术面试答案(汇总版)
作者:微信公众号JavaQ链接:https://www.nowcoder.com/discuss/31667?type=0&order=0&pos=11&page=1来源:牛客 ...
- bzoj 1912: [Apio2010]patrol 巡逻【不是dp是枚举+堆】
我是智障系列.用了及其麻烦的方法= =其实树形sp就能解决 设直径长度+1为len(环长) 首先k=1,直接连直径两端就好,答案是2*n-len 然后对于k=2,正常人的做法是树形dp:先求直径,然后 ...
- P5068 [Ynoi2015]我回来了
传送门 解锁成就:ynoi的题目都做到过原题 因为\(n\)很小,我们可以用\(sss[u][i]\)表示到点\(u\)的距离不超过\(i\)的点的集合,这个可以用bitset存,然后先一遍bfs,再 ...
- 【转】Postman 使用方法详解
1.Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介 ...
- 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等
开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...
- pyinstaller打包.py程序为.exe操作指南
pyinstaller打包.py程序为.exe操作指南 20190526内容纲要: 1.pyinstaller安装 2.程序封装 3.可执行程序 0 前言 今天第一次试试将一个py程序封装成一个.ex ...
- Vue的响应式原理
Vue的响应式原理 一.响应式的底层实现 1.Vue与MVVM Vue是一个 MVVM框架,其各层的对应关系如下 View层:在Vue中是绑定dom对象的HTML ViewModel层:在Vue中是实 ...
- MySQL 一对多查询,合并多的一方的信息
select c.name, (select group_concat(name) from student s where s.class_id =c.id ) from cl ...
- Unix\Linux | 总结笔记 | 用户管理
1. useradd [选项] 用户名 用于创建新的用户 useradd命令中的用户参数以及作用 参数 作用 -d 指定用户的家目录(默认为/home/username) -e 账户的到期时间,格 ...
- Hdu 3289 Rain on your Parade (二分图匹配 Hopcroft-Karp)
题目链接: Hdu 3289 Rain on your Parade 题目描述: 有n个客人,m把雨伞,在t秒之后将会下雨,给出每个客人的坐标和每秒行走的距离,以及雨伞的位置,问t秒后最多有几个客人可 ...