CF1641E Special Positions
题目描述
给定一个长度为 $n$ 的数组 $a$。同时给定 $m$ 个互不相同的位置 $p_1, p_2, \ldots, p_m$($1 \leq p_i \leq n$)。
从这些位置中随机等概率地选取一个非空子集 $T$,并计算如下值:
$$
\sum_{i=1}^{n} \left(a_i \cdot \min_{j \in T} |i - j|\right)
$$
也就是说,对于数组中的每一个下标 $i$,将 $a_i$ 与其到所选子集 $T$ 中最近位置的距离相乘,然后将所有这些乘积求和。
请你求出该值的期望。
答案需要对 $998\,244\,353$ 取模。更正式地,设 $M = 998\,244\,353$。可以证明答案可以表示为最简分数 $\frac{p}{q}$,其中 $p$ 和 $q$ 是整数且 $q \not\equiv 0 \pmod{M}$。请输出满足 $0 \leq x < M$ 且 $x \cdot q \equiv p \pmod{M}$ 的整数 $x$,即 $x = p \cdot q^{-1} \bmod M$。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \leq m \leq n \leq 10^5$)。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i < 998\,244\,353$)。
第三行包含 $m$ 个互不相同的整数 $p_1, p_2, \ldots, p_m$($1 \leq p_i \le n$)。
保证对于每个 $1 \leq i < m$,都有 $p_i < p_{i+1}$。
输出格式
输出一个整数,表示问题的答案。
说明/提示
在第一个测试样例中:
- 如果只选择 $1$,则值为 $1 \cdot 0 + 2 \cdot 1 + 3 \cdot 2 + 4 \cdot 3 = 20$。
- 如果只选择 $4$,则值为 $1 \cdot 3 + 2 \cdot 2 + 3 \cdot 1 + 4 \cdot 0 = 10$。
- 如果两个位置都选,则值为 $1 \cdot 0 + 2 \cdot 1 + 3 \cdot 1 + 4 \cdot 0 = 5$。
本题答案为 $\frac{20 + 10 + 5}{3} = \frac{35}{3} = 665\,496\,247$(对 $998\,244\,353$ 取模)。
由 ChatGPT 4.1 翻译