AtCoder Beginner Contest 276

咕咕咕咕。

E - Round Trip

如果存在某个点双满足这个点双包含起点且点双大小大于 \(4\) 则有解。

F - Double Chance

考虑不断在之前的基础上在末尾添加一个数,每次更新期望。

假设此前已经有 \(i - 1\) 个数了,期望为 \(E\) ,新添加的数为 \(a_i\)

\(i\) 个数中有放回的抽两个可以分为一下几种情况:

  1. 在前 \(i - 1\) 个数有放回的抽两个,概率为 \(\frac{(i - 1)^2}{i^2}\) ,值为 \(E\)
  2. 一个属于前 \(i - 1\) 个数,一个为第 \(i\) 个数,概率为 \(\frac{i^2 - (i - 1)^2 - 1}{i^2}\) ,此时又分两种情况:
    1. 最大值属于前 \(i - 1\) 个数,值为 \(\dfrac{\sum_{j = 1}^{i - 1}[a_j > a_i]a_j}{i - 1}\)
    2. 最大值为第 \(i\) 个数,值为 \(\dfrac{\sum_{j = 1}^{i - 1}[a_j \le a_i]a_i}{i - 1}\)
  3. 两次都抽到第 \(i\) 个数,概率为 \(\frac{1}{i^2}\),值为 \(a_i\)

三种情况线性组合一下就能算出新的期望。

第二种情况就搞个树状数组之类的数据结构维护一下。

G - Count Sequences

考虑 \(b_1 = a_1, b_i = a_i - a_{i- 1}, b_{n+1} = m - a_n\)\(\sum_{i=1}^{n + 1} b_i = m\)\(b\)\(a\) 一一对应,所以 \(b\) 的数量等于 \(a\) 的数量,问题转化为算 \(b\) 的数量。

依据题意, \(b_1\)\(b_{n + 1}\) 可以随意,其余 \(b_i\) 需要满足模 \(3\)\(1\) 或者模 \(3\)\(2\)

\(b_i\) 分解成 \(b_i = 3 y_i + x_i\),其中 \(x_i = b_i \mod 3, y_i = \lfloor \frac{b_i}{3} \rfloor\)

若固定 \(x_i\) ,则 \(y_i\)\(b_i\) 一一对应。枚举所有可能的 \(x\),计算每种情况下 \(y\) 的数量,就能算出 \(b\) 的数量。

对于\(x_i\)的部分,枚举 \(l = x_1\) ,枚举 \(r = x_{n + 1}\) ,枚举剩余 \(x_i\)\(x_i = 2\) 的数量 \(i\) ,则剩余 \(t = m - l - r - (n - 1) - i\) 还没有使用,这样的 \(x\)\(\binom{n - 1}{i}\) 种。而剩余部分就是 \(\sum_{i = 1}^{n + 1} 3y_i\) ,所以若 \(t\) 不是 \(3\) 的倍数则无效,否则 \(\sum_{i = 1}^{n + 1} y_i = \frac{t}{3}\) ,由插板法有满足这样条件的 \(y\)\(\binom{n + \frac{t}{3}}{n}\) 种。

Ex - Construct a Matrix

To be solved.

posted @ 2022-11-06 02:13  _Backl1ght  阅读(114)  评论(0编辑  收藏  举报