XCX Round 2 Overall Editorial

Problem A

概率与期望 + DP

令 $f_i$ 为 $i$ 张卡的合成概率,显然

初值:$f_5 = a\%$

答案:$f_b \times 100$

暴力转移即可。

时间复杂度:$O(b)$ per test case

空间复杂度:$O(b)$ per test case

Problem B

高精度 + 二分

二分每一位的值,并使用高精度乘法判断即可。

令 $T = 120$,即保留的位数。

时间复杂度:$O(\log_2 x + T \times \log_2 10 \times T^2)$ per test case

空间复杂度:$O(T)$ per test case

Problem C

01 Trie 树

令 $d_i$ 为点 $i$ 到树根的权值异或和,则 $f(i, j) = d_i \oplus d_j$。

只需做一个 Trie 树,将 $d$ 数组所有值加入,然后对于每个 $d_i$,求 Trie 树中与其异或最大的值即可。

时间复杂度:$O(n \log_2 \max_{w_i})$

Problem D

模拟

由于是大模拟,不再赘述。细节详见代码。

Problem E

组合数学 + 二项式定理


$20$ pts:暴力(不再赘述)


$50$ pts:

前置知识:二项式定理:

然后,我们发现原来的式子中就有这个东西,于是把它提取出来后得:

可以发现,上面这个式子与 $j, k$ 无关,只与 $j+k$ 有关。

然后,我们就可以枚举 $j+k$,将 $O(n^3)$ 优化为 $O(n^2)$。

新式子如下:

其中,$T = n-|j-n-1|$。

原因如下:

当 $j=2$ 时,$1$ 次计算,

当 $j=3$ 时,$2$ 次计算,

当 $j=n+1$ 时,$n$ 次计算,

当 $j=2 \times n - 1$ 时,$2$ 次计算,

当 $j=2 \times n$ 时,$1$ 次计算。


$100$ pts:

我们可以交换式子的两层循环,答案不变,即为

我们需要快速计算

将该式乘 $j$ 再减去该式,得到

带入原式,得到

由于 $10^9+7$ 是质数,所以求出 $j-1$ 的逆元即可。

时间复杂度:$O(n^2)$