2016 年 ACM/ICPC 青岛区域赛 Problem C Pocky
昨晚乱入学弟的训练赛,想了一下这个题。推导的过程中,加深了对公理化的概率论理解。$\newcommand{\d}{\mathop{}\!\mathrm{d}}$
解法一
考虑 $ d < L$ 的情形。
\begin{equation*}
P(X = 1) = \frac{d}{L}
\end{equation*}
\begin{align*}
P(X = 2) &= \int_0^{L - d} \frac{\d x}{L} \frac{d}{L - x} \\
&= \frac{d}{L}\ln\frac{L}{d}
\end{align*}
\begin{align*}
P(X = 3) &= \int_{0}^{L-d}\frac{\d x}{L}\int_{0}^{L-x-d}\frac{\d y}{L-x}\frac{d}{L-x-y} \\
&= \int_{0}^{L-d} \frac{\d x}{L} \frac{d}{L - x} \ln \frac{L - x}{d} \\
&= \frac{d}{L}\frac{1}{2}\ln^2\frac{L}{d}
\end{align*}
\begin{align}
P(X = 4) &= \int_0^{L - d}\frac{\d x}{L} \int_0^{L - x - d} \frac{\d y}{L-x}\int_0^{L-x-y-d}\frac{\d z}{L - x -y}\frac{d}{L - x - y - z} \notag\\
&= \int_0^{L - d}\frac{\d x}{L} \int_0^{L - x - d} \frac{\d y}{L-x} \frac{d}{L - x -y} \ln \frac{L - x -y}{d} \notag\\
&= \int_0^{L - d}\frac{\d x}{L} \frac{d}{L-x}\frac{1}{2}\ln^2\frac{L-x}{d} \label{Int:1}
\end{align}
令 $u = \frac{L-x}{d}$ ,则 $\d x = -d\d u$ ,有
\begin{align*}
\eqref{Int:1} &= \int_1^\frac Ld\frac dL\frac{\d u}{u}\frac 12\ln^2u \\
&= \int_1^\frac Ld\frac dL\frac 16\d\ln^3u \\
&= \frac 16\frac dL\ln^3\frac Ld
\end{align*}
不难推出
\begin{equation*}
P(X = n) = \frac dL\frac1{(n-1)!}\ln^{n-1}\frac Ld
\end{equation*}
所以
\begin{align*}
E(X) &= \sum_{ n \ge 1 } n P(X=n) \\
&= \frac dL \sum_{n \ge 1} \frac n{(n-1)!}\ln^{n-1}\frac Ld \\
&= \frac dL \sum_{n \ge 0} \frac{n+1}{n!} \ln^n\frac Ld \\
&= \frac dL (\ln\frac Ld + 1) \mathrm{e}^{\ln\frac Ld} \\
&= \ln\frac Ld + 1
\end{align*}
上式中的求和用到了 $(x+1)\mathrm{e}^x$ 的 Maclaurin 展开:
\begin{equation*}
(x+1)\mathrm{e}^x = \sum_{n\ge 0} \frac{n + 1}{n!} x^n
\end{equation*}
解法二
用 $f(x)$ 表示绳长为 $x$ 时切割次数的期望,则有
$$
f(x) =
\begin{cases}
0, &&\text{if $x\le d$;} \\
1 + \int_0^x \frac{dy}{x}f(y), && \text{otherwise.}
\end{cases}
$$
考虑 $x>d$ 的情形,此时有
\begin{align}
f(x) &= 1 + \int_0^x \frac{\d y}{x}f(y) \notag\\
&= 1 + \int_0^d \frac{\d y}{x}f(y) + \int_d^x \frac{\d y}{x}f(y) \notag\\
&= 1 + \int_d^x \frac{\d y}{x}f(y) \label{Int:2}
\end{align}
对 \eqref{Int:2} 式两边求导,得
\begin{align*}
f'(x) &= \frac{f(x)}x - \frac1{x^2}\int_d^x\d yf(y) \\
&= \frac{f(x)}x - \frac1x(f(x) -1) \\
&= \frac1x
\end{align*}
又 $\lim\limits_{x\to d^+} f(x) = 1 $,得 $$ f(x) = \ln x + 1 - \ln d $$
解法二来自 Huo Chen
2016 年 ACM/ICPC 青岛区域赛 Problem C Pocky的更多相关文章
- 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)
队名:Unlimited Code Works(无尽编码) 队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...
- ACM/ICPC2016 青岛区域赛
A(hdu5982).(模拟) 题意:输入n对数,将每对数相乘并相加 分析:模拟 B(hdu5983).(模拟) 题意:给你一个二阶魔方,问能否通过一次旋转使得给定魔方的每个面颜色相同 分析:模拟 C ...
- Known Notation括号匹配类问题(2014年ACM/ICPC 亚洲区域赛牡丹江)
题意: 给你数字或 * 的串,你可以交换一个*和数字.在最前面添1.在一个地方插入*,问你使串满足入栈出栈的(RNP)运算法则. 思路: 引用:https://blog.csdn.net/u01158 ...
- Digit sum (第 44 届 ACM/ICPC 亚洲区域赛(上海)网络赛)进制预处理水题
131072K A digit sum S_b(n)Sb(n) is a sum of the base-bb digits of nn. Such as S_{10}(233) = 2 + 3 ...
- 2016年11月ACM/ICPC亚洲区北京赛赛后总结
2016年11月12到11月13为期两天的比赛,这是我们这个对第一次去打亚洲区域赛,经过这次比赛,我认识到了自己与别人的差距,也许我们与别人的起点不同,但这不是理由. 这次的比赛12号的热身赛两点开始 ...
- 2019 ICPC 上海区域赛总结
2019上海区域赛现场赛总结 补题情况(以下通过率为牛客提交): 题号 标题 已通过代码 通过率 我的状态 A Mr. Panda and Dominoes 点击查看 5/29 未通过 B Prefi ...
- 2014ACM/ICPC亚洲区域赛牡丹江站汇总
球队内线我也总水平,这所学校得到了前所未有的8地方,因为只有两个少年队.因此,我们13并且可以被分配到的地方,因为13和非常大的数目.据领队谁oj在之上a谁去让更多的冠军.我和tyh,sxk,doub ...
- 2016青岛区域赛.Coding Contest(费用流 + 概率计算转换为加法计算)
Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 2018 ACM-ICPC 亚洲区域赛青岛现场赛 —— Problem F. Tournament
题面:http://acm.zju.edu.cn/contest-materials/qd2018/qd2018_problems.pdf 题意: n个骑士决斗K轮 要求是每个骑士只能跟另外一个骑士决 ...
随机推荐
- [大坑]Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
报错tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTER ...
- ArrayList 源码分析(JDK1.8)
ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess ...
- 从Docker到Kubernetes进阶
分享个网站,k8s技术圈阳明大佬的网站 现在基本都用有道云笔记了,比较方便,所以准备弃用博客园了...
- 对象、句柄、ID之间的区别
对象是C++的概念,C++的类对象 句柄是Windows SDK的概念,指向某种资源的一种“指针”(有时候底层不一定是指针) 资源ID在MFC里仅仅是一个宏,也就是个整数. 其实,句柄是控件在数据结构 ...
- Ubuntux下简单设置vim
我自己在vim下的设置,基本写简单脚本用的,在~/.vimrc作出如下设置 syntax on "高亮 set nu "行号显示 set smartindent "基于a ...
- jenkins+svn+pipeline+kubernetes部署java应用(二)
在jenkins中只能通过http的方式获取svn的数据,所以需要配置svn的http访问方式 一.安装http服务端和mod_dav_svn插件 由于Subversion需要版本化的控制,因此标准的 ...
- Python数据分析【炼数成金15周完整课程】
点击了解更多Python课程>>> Python数据分析[炼数成金15周完整课程] 课程简介: Python是一种面向对象.直译式计算机程序设计语言.也是一种功能强大而完善的通用型语 ...
- 编译与安装 OpenSSL
编译与安装 OpenSSL prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库.linux版的OpenSSL下载地址为:https:/ ...
- Linux中让alias设置永久生效的方法详解
Linux中让alias设置永久生效的方法详解 一.问题描述 1.有很多时候我们想要将很多操作作为一个步骤,那么在不作为系统的服务的情况下,别名是我们最好的选择,但是发现别名只能在一次会话中生效,重启 ...
- Java多线程之Deque与LinkedBlockingDeque深入分析
有大小的队列就叫有界队列 如 ArrayBlockingquue, 反之是无界队列 如 LinkedBlockingDeque. 单词写错了. 是的,LinkedBlockingDeque 永远满不 ...