归纳证明#
显然,所谓最大化期望的方式就是选当前答案多的那个,所以有
-
E(M,N)=M+NM(E(M−1,N)+1)+M+NNE(M,N−1),M≥N
-
E(M,0)=M
由两条及对称性 E(M,N)=E(N,M) 可以推出任何 E(M,N)。
令 F(M,N)=E(M,N)−M,M≥N,以及 F(M,N)=F(N,M)
我们有
- F(M,N)=M+NMF(M−1,N)+M+NNF(M,N−1),M>N
- F(N,N)=F(N,N−1)+21
令 G(M,N)=(NM+N)F(M,N),M≥N,同样有 G(M,N)=G(N,M)
同时下两式成立
- G(M,N)=G(M−1,N)+G(M,N−1),M>N
- G(N,N)=21(N2N)+2G(N,N−1)
所以我们只需要验证 G(M,N)=2k=1∑k=N(k2k)(N−kM+N−2k)=k=1∑k=N(k2k−1)(N−kM+N−2k),M≥N 即可。
首先显然 G(M,0)=0 成立。
令 M=N=1,有G(1,1)=1+2G(1,0)=1,且 G(M,1)=G(M−1,1)+G(M,0),M>1,所以 G(M,1)=1,M≥1 成立。
假设对 ∀n.n≤N−1,∀m.m≥n, 都有 G(m,n)=k=1∑k=n(k2k−1)(n−km+n−2k), 则有
G(N,N)=(N−12N−1)+2k=1∑k=N−1(k2k−1)(N−k2N−1−2k)
=(N−12N−1)+k=1∑k=N−1(k2k−1)(N−1−k2N−2k)
=k=1∑k=N(k2k−1)(N−k2N−2k)
假设 ∀m.m≤M,m≥n, 上式同样成立,则有
G(M+1,N)=G(M,N)+G(M+1,N−1)
=k=1∑k=N(k2k−1)(N−kM+N−2k)+k=1∑k=N−1(k2k−1)(N−1−kM+N−2k)
=k=1∑k=N−1(k2k−1)((N−kM+N−2k)+(N−1−kM+N−2k))+(N2N−1)
=k=1∑k=N−1(k2k−1)(N−kM+N+1−2k)+(N2N−1)=k=1∑k=N(k2k−1)(N−kM+N+1−2k)
所以 ∀n.n≤N,∀m.m≥n,上式成立。
所以 ∀m,∀n.m≥n,上式成立。
证毕。
构造解#
结果刚洗完澡就研究出来了…难道是传说中的洗澡解题法???
问题映射#
假设我们有一个 MxN 的矩形格子,我们把格子放置在坐标系第一象限,格子左下角在 (0, 0),右上角在 (M, N)。
那么,一共存在 (NM+N) 条不同的路径能够连通左下角和右上角,(从左下到右上为 M 次向右和 N 次向上的排列)。
下述所有路径构造过程均从右上角 (M,N) 至左下角 (0,0),且 M >= N,提前声明。
下面定义一条路径到答题方式的映射:
- 当处于格点 (x, y) 时,表明当前还剩 x + y 题,其中 x 题为 Yes,y 题为 No
- 当处于格点 (x, y) 时
- 如果 x >= y,那么路径向左 (x - 1, y) 表明 (答 Yes,正确),向下 (x, y - 1) 表明 (答 Yes,错误)
- 如果 x < y, 则向左 (x - 1, y) 表明 (答 No,错误),向下表明 (答 No,正确)
显然,通过上述表示映射,一条路径唯一地确定出题和答题方式,反之亦然。
那么原问题中正确答案的数目怎么计算呢?可以看到,路径经过格点 (x, y) 时,正确或是错误是由路径走向唯一确定的,也就是由边唯一确定的
- 所有 x >= y, (x, y)-(x - 1, y) 的边计数为 1,(x, y)-(x, y - 1) 的边计数为 0
- 所有 x < y, (x, y)-(x - 1, y) 的边计数为 0,(x, y)-(x, y - 1) 为 1
我们将计数标到格子的所有边上,那么我们正确答案的计数就等于所有路径上所经过的边权和。
问题求解#
这里我不画图,大家还是在稿纸上画一下。
令 w(x,y,1) 代表 (x,y)-(x-1,y) 边上的权,w(x,y,0)代表 (x, y-1) 边上的权,那么
- x=y,w(x,y,1)=w(y,x,0)
- x=y,w(x,y,1)=1,w(x,y,0)=0
这个脑补出来就是除了 (x, x) 格点出来的边,其余边都关于y=x对称。
假设任意一条路径 S,其在格子内与 y=x 对称得到的路径为 S’ (可以对称的部分对称)。
令w(S)表示 S 上所有边的加权和,可以证明:
w(S)+w(S′)=2M+∣S∩{(x,y)∣y=x}∣
证明如下:
显然,假设 S 与 y=x 第一次相交于 (X, X),那么到达 (X, X) 之前权和总共为 (M - X);
从 (X, X) 开始到 (0, 0),两条路径 S + S’ 的加权和为 2X+∣S∩{(x,y)∣y=x}∣:
因为假设 w(x,x,1)=w(x,x,0)=0,那么边关于y=x就完全对称,我们将 S 所有路径全部翻到y=x之上不影响路径权和,则向下永远为 1,向左永远为 0,权和为 X。而 S + S’ 中 w(x,x,1)和w(x,x,0) 都只能获得一次,所以上式成立。
所以对于所有路径,边权和为 W=S∑w(S)=S∑22M+∣S∩{(x,y)∣y=x}∣,也就是
W=M(NM+N)+2S∑∣S∩{(x,y)∣y=x}∣,我们只需要再计算每个 (x,x) 点被被多少条路径经过,再加和就行。
对于一个点 (x,y),经过的路径数为(xx+y)(N−yM+N−x−y),超级显然…
所以,W=M(NM+N)+2k=1∑N(k2k)(N−kM+N−2k)。
所以期望为 (NM+N)W=M+2(NM+N)k=1∑N(k2k)(N−kM+N−2k),终于证毕。
在证明过程中可以发现一个很有意思的事实,在回答问题的过程中,如果当前剩余的 M=N,直接放弃答题并查看答案,那么答对的题目数永远是 M。