zoukankan      html  css  js  c++  java
  • 题解 【UER #6】逃跑

    Description

    妹滋滋从 ((0,0)) 开始,每天可以往上下左右四个方向中的一个方向移动一个单位的距离。每天随机选择一个方向走,上下左右方向的权值分别是 (w_1,w_2,w_3,w_4) 走每个方向的概率和他的权值成正比。询问 (n) 天后经过不同位置个数的方差 (V imes(w_1+w_2+w_3+w_4)^n)(998244353) 取模后的值。

    Solution

    首先,对于离散随机变量 (X_1,X_2dots X_n) ,设 (X) 的方差为 (D(X)),则有

    [D(X)=frac 1 nsum_{i=1}^n(X_i-ar X)^2\=frac 1 nsum_{i=1}^n(X_i^2-2X_iar X+ar X^2)\=frac 1 nsum_{i=1}^nX_i^2-frac {2ar X} n sum_{i=1}^nX_i+ar X^2\=frac 1 nsum_{i=1}^nX_i^2-2frac 1 {n^2}(sum_{i=1}^nX_i)^2+ar X^2 \=E(X^2)-E^2(X) ]

    那么方差就等于平方的期望减期望的平方,那么我们现在就要求这两项。


    对一次和的求解

    首先考虑每个点对答案的贡献,必定是在第一次经过时产生贡献。

    (f[i]) 表示第一次经过 (i) 步后到达格子的方案数,注意我们不关心这个格子是哪一个

    由于外层乘了总方案,设 (sum=w_1+w_2+w_3+w_4),那么走 (i) 步后的总方案就是 (sum^i)

    考虑容斥,所有不合法的方案都是在 ([0,i-1]) 中走到了 (i) 步的位置,并且用剩下的时间再走了回来。

    设在第 (j) 步走到 (i),那么就用 (j-i) 步走回来,方案数可以预处理,设为 (C_{j-i})

    那么就有 (f[i]=sum^i-sum_{j=0}^{i-1}f[j]C_{j-i}),总和为 (sum_{i=0}^nf[i] imes sum^{n-i})


    对二次和的求解

    对于一种方案展开:(E((s_i+s_j+dots)^2)=E^2(s_i)+E^2(s_j)+2E(s_is_j)dots),其中 (s_i) 表示第 (i) 步到达的格子是否是首次到达的。

    那么可以 (dp),设 (g[k][x][y]) 表示走了 (k) 步,其中纵方向比走了 (i) 步时多走的状况是 (x),横方向多走的状况是 (y) 的方案数。也就是 (i-k) 步走出了一个 ((x,y)) 的向量。

    其中走 (i) 步到的地方是首次经过的,那么可以使用 (f[i])

    (j) 步走一个固定向量 ((x,y)) 的方案数可以递推出来,设为 (h[j][x][y])。(其中 (C_i=h[i][0][0]))。

    有:

    [g[k][x][y]=sum_{i=0}^kf[i] imes h[k-i][x][y] ]

    但是这样会算重,算重的部分就是 (j) 步后到的格子(设为 (P))被经过两次。

    这里分类讨论一下,看是在走 (i) 步到的格子 (Q) 前被经过还是 (Q) 后:

    • 先经过了 (P),再绕了个圈经过 (P)。这种情况在绕圈的时候不能经过 (Q),方案数为 (g[j][x][y] imes (C_{k-j}-W[k-j][-x][-y]))

    • 先经过 (P),再经过 (Q),再经过 (P) 。这样就是 (f[j] imes W[k-j][x][y])

    其中 (W[i][x][y]) 表示从出发点走了 (i) 步绕回来,并且经过了和出发点呈 ((x,y)) 向量的点。

    最后的问题就是求 (W) 了。

    枚举走了 (j) 步后形成 ((x,y)) 的向量,那么剩下 (i-j) 步就形成了 ((-x,-y)) 的向量,但是不能经过出发点

    所以

    [W[i][x][y]=sum_{j=0}^{i-1}h[j][x][y] imes dp[i-j][-x][-y] ]

    其中 (dp) 数组表示上方斜体的方案,求解只需要用 (h) 减去过 ((0,0)) 的圈就行了。

    最后统计答案:

    [sum_{i=0}^nsum_{(x,y) eq(0,0)}g[i][x][y] imes sum^{n-i} ]

    至此,本题得到了完美的解决。

  • 相关阅读:
    接水问题
    几种走法
    过河卒

    计数问题
    Java和C或C++的数据类型对照表
    记一次在家办公远程公司数据库的解决方案
    java nio 笔记
    mysql绿色版安装 遇到的问题
    mysql绿色版安装
  • 原文地址:https://www.cnblogs.com/Alansp/p/14049294.html
Copyright © 2011-2022 走看看