题解 | #1004.Do You Like Interactive Problems?# 2023杭电暑期多校10

1004.Do You Like Interactive Problems?

概率论-数学期望

题目大意

给定一个正整数 n n n ,在 1 1 1 ~ n n n 范围内有一个正整数 x x x
进行若干轮猜测,每次猜测在 1 1 1 ~ n n n 范围内等概率随机选择一个正整数 y y y ,可以得到如下信息中的一个: y > x , y = x , y < x y>x,y=x,yy>x,y=x,y<x
每次猜测后,下一次猜测仍在原范围内随机选择。当得到的信息能够唯一确定 x x x 时,游戏结束
求猜测轮数的数学期望

解题思路

ACMer三大美德:暴力、打表、猜结论//赛时打表猜结论过了//

由题意可知,当且仅当出现以下情况时,可以唯一确定 x x x

  1. 选到 x x x
  2. x x x 的相邻元素都被选到

每次选择后,下一次选择的范围是不变的,因此其他元素的信息对唯一确定 x x x 是没有作用的

对于给定 n n n ,根据以下情况展开讨论:

  1. 不论 x x x 的位置,直接选到 x x x ,轮数为 1 1 1 ,概率为 1 n \dfrac{1}{n} n1
  2. 已经选到一个相邻点(或 x x x 在两端),轮数期望记为 E 2 E_2 E2
    1. 选另一相邻点(或唯一相邻点),轮数为 1 1 1 ,概率为 1 n \dfrac{1}{n} n1
    2. 选其他点没有贡献,概率为 n − 2 n \dfrac{n-2}{n} nn2
  3. x x x 在中间,没有选到过相邻点,轮数期望记为 E 3 E_3 E3
    1. 选到两个相邻点之一,转移到情况 2 2 2 ,概率为 2 n \dfrac{2}{n} n2
    2. 选到其他点没有贡献,概率为 n − 3 n \dfrac{n-3}{n} nn3

综上可得:

E 2 = 1 n + 1 n + n − 2 n ( 1 + E 2 ) E_2=\dfrac{1}{n}+\dfrac{1}{n}+\dfrac{n-2}{n}(1+E_2) E2=n1+n1+nn2(1+E2)

E 3 = 1 n + 2 n ( 1 + E 2 ) + n − 3 n ( 1 + E 3 ) E_3=\dfrac{1}{n}+\dfrac{2}{n}(1+E_2)+\dfrac{n-3}{n}(1+E_3) E3=n1+n2(1+E2)+nn3(1+E3)

解得 E 2 = n 2 , E 3 = 2 n 3 E_2=\dfrac{n}{2},E_3=\dfrac{2n}{3} E2=2n,E3=32n
得到最终期望为: E = 2 n E 2 + n − 2 n E 3 = 2 n − 1 3 E=\dfrac{2}{n}E_2+\dfrac{n-2}{n}E_3=\dfrac{2n-1}{3} E=n2E2+nn2E3=32n1

参考代码

参考代码为已AC代码主干,其中部分功能需读者自行实现

void solve()
{
    ll n;cin >> n;
    if(n==1) {cout << 0 << endl;return ;}
    ll t=mul(Get_Mod(2*(n-2)+3),inv(3));
    cout << t << endl;
}

你可能感兴趣的:(2023杭电多校,c++)