E. 期望功率
时间限制:4 秒
内存限制:256 兆字节
给定一个包含 n 个整数的数组 a1,a2,…,an。
同时给定一个数组 p1,p2,…,pn。
设 S 表示按照如下规则构造的随机多重集合(可以包含重复元素):
- 初始时 S 为空。
- 对于每个 i(从 1 到 n),以概率 104pi 将 ai 插入 S 中。每个元素的插入操作相互独立。
记 f(S) 为集合 S 中所有元素的按位异或和。
请计算 (f(S))2 的期望值,答案对 109+7 取模。
形式化输出要求
设模数 M=109+7。
可以证明答案能表示为既约分数 qp。
你需要输出 p⋅q−1modM,即满足以下条件的整数 x:
0≤x<M,x⋅q≡p(modM)
输入格式
每个测试文件包含多组测试用例。
第一行输入测试用例数 t(1≤t≤104)。
每组测试用例:
- 第一行:一个整数 n(1≤n≤2⋅105)
- 第二行:n 个整数 a1,a2,…,an(1≤ai≤1023)
- 第三行:n 个整数 p1,p2,…,pn(1≤pi≤104)
数据保证:所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每组测试用例,输出 (f(S))2 的期望值,对 109+7 取模。
样例输入
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
样例输出
500000007
820000006
280120536
1
样例解释
第一个样例
a=[1,2],每个元素被选中的概率为 21。
共有 4 种等概率情况:
- S=∅:f(S)=0,(f(S))2=0
- S={1}:f(S)=1,(f(S))2=1
- S={2}:f(S)=2,(f(S))2=4
- S={1,2}:f(S)=1⊕2=3,(f(S))2=9
期望:
$$\dfrac{0+1+4+9}{4}=\dfrac{14}{4}=\dfrac{7}{2}\equiv 500000007 \pmod{10^9+7}
$$
第二个样例
a=[1,1],选中概率分别为 0.1 和 0.2。
有效情况:
- 都不选:概率 0.72,贡献 0
- 恰好选一个:概率 0.26,贡献 1
- 都选:异或为 0,贡献 0
期望:0.26=10026≡820000006(mod109+7)