首页 > 试题广场 >

小红的异或之和

[编程题]小红的异或之和
  • 热度指数:111 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红有两个长度都为 n 的数组 a,b ,仅包含 0、1

现在小红生成一个二维矩阵 c ,满足 c_{i,j}= a_i \oplus b_j

现在小红想让你帮助她计算出其所有子矩阵的数值之和,结果对 10^9+7 取模。

输入描述:
第一行一个整数 n(1\leq n\leq 2\times 10^5),表示数组长度。

第二行 n 个整数,第 i 个整数为 a_i(0\leq a_i\leq 1)

第二行 n 个整数,第 i 个整数为 b_i(0\leq b_i\leq 1)


输出描述:
一个整数,表示矩阵 c 的所有子矩阵之和,结果对 10^9+7 取模。
示例1

输入

3
1 0 1
0 1 0

输出

52
头像 丨阿伟丨
发表于 2025-09-12 15:48:47
题目链接 REAL741 小红的异或之和 题目描述 小红有两个长度都为 的数组 和 ,它们仅包含0和1。现在小红生成一个 的二维矩阵 ,满足 ( 是异或操作)。 请计算出矩阵 的所有子矩阵的数值之和,结果对 取模。 思路分析 1. 问题转化:从子矩阵和到单点贡献 直接枚举所有子矩阵(数量级 展开全文