博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[洛谷P5081]Tweetuzki 爱取球
阅读量:6622 次
发布时间:2019-06-25

本文共 686 字,大约阅读时间需要 2 分钟。

题目大意:有$n$个球,每一次取一个球然后放回,问期望多少次取遍所有球

题解:令$f_i$表示已经取了$i$种球,还要取的次数的期望。$f_i=\dfrac in(f_i+1)+\dfrac{n-i}n(f_{i+1}+1),f_n=0$

解个方程可得$f_i=\dfrac n{n-i}+f_{i+1}$,所有答案为$n\sum\limits_{i=1}^n\dfrac 1i$

卡点:

 

C++ Code:

#include 
#define maxn 10000010const int mod = 20040313;#define mul(x, y) static_cast
(x) * (y) % modinline void reduce(int &x) { x += x >> 31 & mod; }int n, ans;int inv[maxn];int main() { scanf("%d", &n); inv[0] = inv[1] = ans = 1; for (int i = 2; i <= n; ++i) { inv[i] = mul(mod - mod / i, inv[mod % i]); reduce(ans += inv[i] - mod); } printf("%lld\n", mul(ans, n)); return 0;}

  

转载于:https://www.cnblogs.com/Memory-of-winter/p/10370694.html

你可能感兴趣的文章
二维数组与类的定义_DAY06
查看>>
ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)
查看>>
Swift 表达式
查看>>
FFmpeg(8)-打开音视频解码器,配置解码器上下文(avcodec_find_decoder()、avcodec_alloc_context3())...
查看>>
Javascript基础恶补
查看>>
andriod自定义视图
查看>>
linux下vim更改注释颜色
查看>>
在SSL / https下托管SignalR
查看>>
Using JRuby with Maven
查看>>
poj 3308 (最大流)
查看>>
Netty了解与小试
查看>>
醒醒吧少年,只用Cucumber不能帮助你BDD
查看>>
众安质量学堂文章汇总
查看>>
AsyncHttpSupport并发发送请求
查看>>
一名女程序员对iOS的想法
查看>>
Cloud Native未来值得关注的方向:Service Mesh简介
查看>>
西班牙现新型电费退款网络诈骗 侨胞需谨防上当
查看>>
JVM新生代和老年代配置原则
查看>>
昆明滇池水质达30年来最好 百名“市民河长”守卫“母亲河”
查看>>
太合音乐发布“少年红星音乐计划” 力促00后创作浪潮
查看>>