CF2020E.Expected Power

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn 的整数数组 a1,a2,…,ana_1,a_2,\ldots,a_n,以及一个数组 p1,p2,…,pnp_1, p_2, \ldots, p_n。

定义随机多重集 SS(即 SS 可以包含相同元素),其构造方式如下:

  • 初始时,SS 为空集。
  • 对于每个 ii 从 11 到 nn,以概率 pi104\frac{p_i}{10^4} 将 aia_i 插入 SS。注意,每个元素是否被插入是独立的。

记 f(S)f(S) 为 SS 中所有元素的按位异或(bitwise XOR)结果。请计算 E[(f(S))2]\mathbb{E}[(f(S))^2] 的期望值,并将答案对 109+710^9 + 7 取模输出。

形式化地,设 M=109+7M = 10^9 + 7。可以证明答案可以表示为最简分数 pq\frac{p}{q},其中 pp 和 qq 是整数且 q≢0(modM)q \not\equiv 0 \pmod{M}。请输出满足 0≤x<M0 \le x < M 且 x⋅q≡p(modM)x \cdot q \equiv p \pmod{M} 的整数 xx。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2×1051 \le n \le 2 \times 10^5)。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(1≤ai≤10231 \le a_i \le 1023)。

第三行包含 nn 个整数 p1,p2,…,pnp_1,p_2,\ldots,p_n(1≤pi≤1041 \le p_i \le 10^4)。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5。

输出格式

对于每个测试用例,输出 E[(f(S))2]\mathbb{E}[(f(S))^2] 的期望值,对 109+710^9 + 7 取模。

输入输出样例

  • 输入#1

    4
    2
    1 2
    5000 5000
    2
    1 1
    1000 2000
    6
    343 624 675 451 902 820
    6536 5326 7648 2165 9430 5428
    1
    1
    10000

    输出#1

    500000007
    820000006
    280120536
    1

说明/提示

在第一个测试用例中,a=[1,2]a = [1, 2],每个元素被插入 SS 的概率为 12\frac{1}{2},因为 p1=p2=5000p_1 = p_2 = 5000,pi104=12\frac{p_i}{10^4} = \frac{1}{2}。因此,SS 有 44 种可能:

  • S=∅S = \varnothing,此时 f(S)=0f(S) = 0,(f(S))2=0(f(S))^2 = 0。
  • S={1}S = \{1\},此时 f(S)=1f(S) = 1,(f(S))2=1(f(S))^2 = 1。
  • S={2}S = \{2\},此时 f(S)=2f(S) = 2,(f(S))2=4(f(S))^2 = 4。
  • S={1,2}S = \{1,2\},此时 f(S)=1⊕2=3f(S) = 1 \oplus 2 = 3,(f(S))2=9(f(S))^2 = 9。

因此,答案为 0⋅14+1⋅14+4⋅14+9⋅14=144=72≡500 000 007(mod109+7)0 \cdot \frac{1}{4} + 1 \cdot \frac{1}{4} + 4\cdot \frac{1}{4} + 9 \cdot \frac{1}{4} = \frac{14}{4} = \frac{7}{2} \equiv 500\,000\,007 \pmod{10^9 + 7}。

在第二个测试用例中,a=[1,1]a = [1, 1],a1a_1 以概率 0.10.1 被插入 SS,a2a_2 以概率 0.20.2 被插入 SS。SS 有 33 种可能:

  • S=∅S = \varnothing,此时 f(S)=0f(S) = 0,(f(S))2=0(f(S))^2 = 0,概率为 (1−0.1)⋅(1−0.2)=0.72(1-0.1) \cdot (1-0.2) = 0.72。
  • S={1}S = \{1\},此时 f(S)=1f(S) = 1,(f(S))2=1(f(S))^2 = 1,概率为 (1−0.1)⋅0.2+0.1⋅(1−0.2)=0.26(1-0.1) \cdot 0.2 + 0.1 \cdot (1-0.2) = 0.26。
  • S={1,1}S = \{1, 1\},此时 f(S)=0f(S) = 0,(f(S))2=0(f(S))^2 = 0,概率为 0.1⋅0.2=0.020.1 \cdot 0.2 = 0.02。

因此,答案为 0⋅0.72+1⋅0.26+0⋅0.02=0.26=26100≡820 000 006(mod109+7)0 \cdot 0.72 + 1 \cdot 0.26 + 0 \cdot 0.02 = 0.26 = \frac{26}{100} \equiv 820\,000\,006 \pmod{10^9 + 7}。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页