0. 防偷窥
1. 最初的起点
1.1. 心中的疑惑
我重生了。上一世因为我的数学不太好,所以被我的第二人格——数学学得贼好的那个人格——给予了一次重新来过的机会。
于是这一世,我恶补数学,想要靠这个来成为一名数学大佬。
只可惜……奈何身边大佬学的特别超前,直接把我变成了唯一的数学勒瑟。
起因是这样的两道题:
原题链接:石头剪刀布(easy ver.)石头剪刀布(hard ver.)
我不知道为什么样例 x=1 的期望是 3 局,于是有了下面的故事:
1.2. 启程
对于样例 x=1,我的理解如下:
因为要 恰好 达到 1 分,所以只可能是一次平局
可能是一局达到平局,期望为 31×1
可能是两局,第一局输了没有得分,第二局平局,期望为 31×31×2
可能是三局,前两局输了没有得分,第三局平局,期望为 (31)3×3
可能是四局,前三局输了没有得分,第四局平局,期望为 (31)4×3
可能是……
因此,使得 x=1 的期望局数为 E=31×1+(31)2×2+(31)3×3+⋯
化简:
E=i=1∑∞i⋅(31)i
1.3. 放缩之旅
由于原级数较难求值,考虑进行放缩。
明显有:
i=1∑∞(31)i<E<i=1∑∞2i−1(31)i
令 A=i=1∑∞(31)i,B=i=1∑∞2i−1(31)i
先考虑化简 A
左右两边同时乘上 31,得到:
31A=31i=1∑∞(31)i=i=2∑∞(31)i
错位相减:
A−31A=i=1∑∞(31)i−i=2∑∞(31)i
化简:
32A=31
因此:
A=21
接着考虑化简 B
先对其进行变形:
B=i=1∑∞2i−1(31)i=31i=1∑∞(32)i−1=31i=0∑∞(32)i
左右同时乘上 32:
32B=31i=1∑∞(32)i
错位相减:
B−32B=31i=0∑∞(32)i−31i=1∑∞(32)i
化简:
31B=31×1
因此:
B=1
所以,有 21<E<1
2. 问题所在?
2.1. 新的希望?
有一件诡异的事情:至少也需要 1 局才能够得分,为什么算出来的期望却是在 (21,1) 之间?
这个问题来自于评论区大佬。我然后也意识到了问题的严重性。
不过,我想到了问题产生的可能原因:为什么两局的期望是 31×31×2
很明显的一点,平局概率只是 31,那么没有平局的概率就只能是 1−31=32
因此,作出更正:
E=i=1∑∞i⋅(31)i
E=i=1∑∞i⋅(32)i−1⋅(31)
2.2. 希望破灭
当我把这个无穷级数 E 拿给我的数学大佬(可惜他不知道这个站)的时候,他:
“你给我解释清楚!你这是什么?我不会,我问了隔壁班大佬,他也不会。你这个是什么意思?”
我原本想要把这个无穷级数给他看看,希望他能够帮我求出结果。没想到他也不会……
过了几天,他告诉我:
“Python跑过了,你那天的最后一小问求级数和那个 E 貌似不收敛”
好吧,看来确实有点问题。
因为我自己试图用放缩求出它的范围,但可惜找不到一个合适的放缩方式证明其敛散性。
不过个人试图利用比式判别法证明:
令 ai=i⋅(32)i−1⋅(31),则:
r=n→∞lim∣anan+1∣=n→∞limn(32)n−1(31)(n+1)(32)n(31)
把数列后面部分抽象成一个等比数列,只需要让公比 r∈(0,1) 即可。现在只需要证明极限 r∈(0,1)。
r=n→∞lim32⋅nn+1=32∈(0,1)
我感觉他可能哪一步写错了吧
2.3. 回归原始
不过大佬说的也不是没有一点用。
很明显上面有一个地方是我想错了:平局概率确实是 31,但是不平局如果赢了那么得分直接到 2 分,故只能是输了,概率依旧是 31!
因此:
E=i=1∑∞i⋅(31)i
3. 新思路
3.1. Py佬行为,请勿模仿!
大佬还给了我一个启发:为什么不考虑使用Python呢?
于是,我发挥了我作为一名Py佬的本领,写了一点代码,运行,结果如下:

可以看见,结果竟然是在 23 左右!
那么说明我的列式可能没有错,那么错在了哪里呢?只能是放缩出了问题!
3.2. 无奈的思绪

喂给豆包后,我恍然:原来问题真的出现在放缩的过程中!
我对于自己这个低级错误感到无奈。
下面提供正确的放缩过程(来源:豆包):
先对无穷级数 B 进行正确的恒等变形:
B=i=1∑∞2i−1(31)i=21i=1∑∞(32)i
左右同时乘上 32:
32B=21i=2∑∞(32)i
错位相减:
B−32B=21i=1∑∞(32)i−21i=2∑∞(32)i
化简:
31B=21×32
因此:
B=1
等等…… B=1?这牢布斯的逗包给我干哪儿来了?这还是国内吗?
那我这放缩后求值不是一样的吗?没区别啊?那么我放缩哪里出问题了?
这才是真正的无奈的思绪。。。

无奈……何止无奈!我的无语声震耳欲聋
3.3. 不要再装Py佬了!
好吧。正如你所见,这是我那个大佬朋友给我的建议——之后我自己告诉自己的一条建议
经过我一番搜寻,终于发现——啊好吧我就不应该改掉我原本的Python代码。
原因出在多乘的 i+1 一项上。我原本的代码使对的,如下:

好吧,肉眼可见,这个级数是收敛于 43 的。
豆包给了我一番精彩无比的推导:
E=i=1∑∞i⋅(31)i
本质可以套用等比数列求和:
31E=i=1∑∞i⋅(31)i+1=i=2∑∞(i−1)(31)i
错位相减:
32E=i=1∑∞(31)i
为了好描述一些,令 S=32E,则:
31S=i=2∑∞(31)i
再次错位相减:
32S=31
故:
S=21
即:
32E=21
因此:
E=43
可以……但我不甘心啊,这么朴素而又神奇的解法我居然没想到!我承认我是勒瑟。
“好吧,既然你不甘心,那么——试试看!用其他方法说不定也能够做出来呢!”
4. 不甘&奋斗
4.1. 起跑线
考虑到以前看过有关生成函数的视频,那么这个能否用生成函数做呢?
答案是:试试看!说不定呢!
4.2. 一个糟糕的选择
我看这个 31 不顺眼很久了!既然你那么耀眼,不如……直接给我变成历史吧!
于是,我令 x 来替换掉 31,然后构造生成函数:
E(x)=i=1∑∞i⋅xi
众所周知,生成函数是要应用到求导的,所以不妨直接开导:
E′(x)=i=1∑∞i2⋅xi−1
。。。
我的无语声震耳欲聋!
这怎么还有平方了啊!
事实证明,采用这个方式真的很愚蠢:将 xn 求导变成 nxn−1,必然多了一项!
后来,我还试图把它变形为 (i−1)xi,但问题依旧没有变!
这是一个糟糕的选择!
4.3. 大胆的决定
转念一想:我能不能用 x 来替换 3 然后变形为 i⋅x−i 呢?
很可惜,想法不先进,也不可行,结果只是变成了 −i2 倍,不能消掉 i!
那么,有没有办法能够把指数变成 i1 呢?
不行。至少我不知道任何可行的方法。
到这里,我忽然有了一个大胆的决定:如果我不考虑用导数,而是利用积分呢?
嗯,好吧,如果成功了,那么也好歹是一个创新;如果没成功那也不算太糟糕,至少还有我为此付出的努力和尝试。
由于 xn 的导数为 nxn−1,那么只需要构造出 nxn−1,就可以得到:
∫nxn−1dx=xn
此处为了后续计算方便,忽略了常数项。
也就是说,因为:
E(x)=i=1∑∞i⋅xi
所以为了构造出对应形式,我或许可以这样子进行变形:
E(x)=i=1∑∞(i+1)xi−i=1∑∞xi
实际上我的目标很明确:求出 E(x) 关于 x 的表达式
因为减号后半部分明显是一个公比为 x 的等比数列,所以我只需要求出减号前半部分的解析式即可。
构造:
f(x)=i=1∑∞(i+1)xi
积分(忽略常数项):
F(x)=∫i=1∑∞(i+1)xidx
变形:
F(x)=i=1∑∞∫(i+1)xidx
化简:
F(x)=i=1∑∞xi+1=i=2∑∞xi
依旧是一个等比数列求和,注意到这里公比 x=31∈(0,1):
xF(x)=i=2∑∞xi+1=i=3∑∞xi
错位相减:
(1−x)F(x)=x2
化简:
F(x)=1−xx2
接下来所需要做的只是求 f(x),也就是 F′(x)
根据商法则,有:
f(x)=F′(x)=(1−x)2(1−x)(2x)−(x2)(−1)
化简:
f(x)=(1−x)22x−2x2+x2=x2−2x+1−x2+2x=−1+(1−x)21
减号后半部分就更简单了,构造:
g(x)=i=1∑∞xi
这是一个标准的等比数列求和,公式为 g(x)=1−xx
因此,合并:
E(x)=f(x)−g(x)=−1+(1−x)21−1−xx
带入 x=31 的话呢?
E=E(31)=−1+(1−31)21−1−3131=−1+49−21=43
激动人心!居然对了!!!!!
5. 总结
5.1. 意义不明
确实,你不是要证明期望是 3 吗?为什么在搞这个?
但我认为,自从我列出 E 那个无穷级数开始,其意义就不在于证明期望的值了,而是求出无穷级数
尤其是当我自己研究处积分法代替导数法处理生成函数的时候,一切的一切,都在此得到升华
5.2. 鸣谢
感谢出题人、大佬朋友、Python等大力支持!!!
有帮助,赞一个