1 条题解

  • 0
    @ 2023-5-26 11:19:55

    可以通过二分求出给定的 uu 所在的行。设给定点在第 n+1n+1 行的第 m+1m+1 个位置。

    考虑将这个图进行一些转化,容易想到可以转化成这样一个问题:

    给定 m×nm\times n 的网格,求从左下角的点走到右上角的点,每次可以向右走、向上走、向右上方走,且不超过从左下角出发的 4545^\circ 斜线的方法数。

    这是我们比较熟悉的一个问题,但是这个问题可以向右上方走。

    考虑转化成不能向右上方走的情况。不妨枚举向右上方走的次数 ii,那么就需要向右走 n0=nin_0=n-i 步,向上走 m0=mim_0=m-i 步。这显然是卡特兰数,共有

    (n0+m0m0)(n0+m0m01)\binom{n_0+m_0}{m_0}-\binom{n_0+m_0}{m_0-1}

    种走法。而向右上方走的步骤可以插入到任意的位置,由插板法,有 (n+mii)\dbinom{n+m-i}i 种方案。由乘法原理以及加法原理,得答案为

    $$\sum_{i=0}^m\binom{n+m-i}i\left[\binom{n+m-2i}{m-i}-\binom{n+m-2i}{m-i-1}\right]. $$

    只需预处理阶乘与阶乘的逆元即可。

    时间复杂度 Θ(n)\Theta(\sum\sqrt n)

    • 1

    信息

    ID
    3942
    时间
    1000ms
    内存
    250MiB
    难度
    6
    标签
    递交数
    1
    已通过
    1
    上传者