知乎上看到一个问题,如果一个女人说自己集齐了12个星座的男朋友,那么她已经搞过多少男人了。

先考虑这个问题的最简单版本,如果说该女人每一次和12个星座的男人交往的概率相同。

考虑$dp$

注意到这个问题正向十分不好推(因为如果用f表示从开始到当前的状态的话,只能由当前f推到 对应拓扑图上后面的f)。

考虑从后面推到前面。

$f_n$ 表示已经搞了 $n$ 种男人,搞到12种男人的期望步数。

这样  $f_n = \frac{n}{12} f_n  + \frac{12-n}{12} f_{n+1} + 1$

化简得 $f_n = f_{n+1} + \frac{12}{12-n}$

这样有 $f_n = n H_n ≈ 37$ 个男人

How Many Boyfriends的更多相关文章

  1. 【转】How Many Boyfriends

    如果一个女人遇到不同星座男的概率相同 那么这个女人期望遇到多少个男人就能集齐12个不同星座的男人 我们简化一下问题. 如果只有一个星座,那么期望值为1 如果只有两个星座,那遇到第一个男人后 期望再遇到 ...

  2. String类replaceAll方法正则替换深入分析

    作者网址: https://my.oschina.net/shipley/blog/98973 背景:      前几天有人发了一个关于下面问题的贴,对这个有点好奇,故花时间做了点研究.       ...

  3. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  4. 越狱Season 1-Episode 20: Tonight

    Season 1, Episode 20: Tonight -Pope: I want him under 24hour surveillance. surveillance: 监视 保证24小时监视 ...

  5. Come and join us at English corner

    2012.12.26 Hi all, How are you doing? Merry post-Christmas and happy upcoming New year!! I wish you ...

  6. 【HDU3081】Marriage Match II (二分+最大流)

    Description Presumably, you all have known the question of stable marriage match. A girl will choose ...

  7. hdu3081 Marriage Match II(最大流)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Marriage Match II Time Limit: 2000/1000 M ...

  8. HDU--3081--Marriage Match II--最大匹配,匈牙利算法

    Marriage Match II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  9. HDU 3081 Marriage Match II (网络流,最大流,二分,并查集)

    HDU 3081 Marriage Match II (网络流,最大流,二分,并查集) Description Presumably, you all have known the question ...

随机推荐

  1. python(1)- 初识python

    一.了解编程语言 1.编程语言的定义 编程语言即语言,语言的本质就是沟通,因而编程语言与英语 .法语.日语等所有语言并无区别,只不过英语是人与人之间沟通的介质,而编程语言则是程序员与计算机沟通的介质. ...

  2. HDU 4923 Room and Moor(推理+栈维护)

    HDU 4924 Room and Moor 题目链接 题意:给定一个01组成的a序列.要求一个b序列,b序列每一个数值为[0, 1]之间的数,而且b序列为非递减序列,要求∑(ai−bi)2最小,求这 ...

  3. BZOJ 2818 Gcd 线性欧拉

    题意:链接 方法:线性欧拉 解析: 首先列一下表达式 gcd(x,y)=z(z是素数而且x,y<=n). 然后我们能够得到什么呢? gcd(x/z,y/z)=1; 最好还是令y>=x 则能 ...

  4. 关于erlang的向上取整和向下取整

    在erlang的API中,erlang:trunc/1 是就近取整,erlang:round/1是四舍五入的, 整理下:对于正数的向上和向下取整, %% 向上取整 ceil(N) -> T = ...

  5. PythonCookBook笔记——数字日期和时间

    数字日期和时间 数字的四舍五入 用round函数,指定值和小数位数. >>> round(1.23, 1) 1.2 >>> round(1.27, 1) 1.3 & ...

  6. android arcmenu

    http://www.kankanews.com/ICkengine/archives/129193.shtml

  7. mvc 发送QQ邮件

    试图部分代码: @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } ...

  8. openstack之路:虚拟机的配置

    创建虚拟机有2种方法: 1 virt-manager. 优点:上手简单.缺点:实现自动化比较困难 2 virsh创建 优点:自动化配置简单.缺点:创建过程比较复杂 我们首先通过virt-manager ...

  9. leetcode 750. Number Of Corner Rectangles

    Given a grid where each entry is only 0 or 1, find the number of corner rectangles. A corner rectang ...

  10. sendevent是使用

    按下: sendevent /dev/input/event4 1 254 1 sendevent /dev/input/event4 0 0 0 松开: sendevent /dev/input/e ...