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 翻译