A5845 | 「GXOI / GZOI2019」与或和
时间限制2s
内存限制512MB
通过 / 提交0/0
题目描述
Freda 学习了位运算和矩阵以后,决定对这种简洁而优美的运算,以及蕴含深邃空间的结构进行更加深入的研究。
对于一个由非负整数构成的矩阵,她定义矩阵的 $\texttt{AND}$ 值为矩阵中所有数二进制 $\texttt{AND(&)}$ 的运算结果;定义矩阵的 $\texttt{OR}$ 值为矩阵中所有数二进制 $\texttt{OR(|)}$ 的运算结果。
给定一个 $N \times N$ 的矩阵,她希望求出:
1. 该矩阵的所有子矩阵的 $\texttt{AND}$ 值之和(所有子矩阵 $\texttt{AND}$ 值相加的结果)。
2. 该矩阵的所有子矩阵的 $\texttt{OR}$ 值之和(所有子矩阵 $\texttt{OR}$ 值相加的结果)。
接下来的剧情你应该已经猜到——Freda 并不想花费时间解决如此简单的问题,所以这个问题就交给你了。
由于答案可能非常的大,你只需要输出答案对 $1,000,000,007 (10^9 + 7)$ 取模后的结果。
对于一个由非负整数构成的矩阵,她定义矩阵的 $\texttt{AND}$ 值为矩阵中所有数二进制 $\texttt{AND(&)}$ 的运算结果;定义矩阵的 $\texttt{OR}$ 值为矩阵中所有数二进制 $\texttt{OR(|)}$ 的运算结果。
给定一个 $N \times N$ 的矩阵,她希望求出:
1. 该矩阵的所有子矩阵的 $\texttt{AND}$ 值之和(所有子矩阵 $\texttt{AND}$ 值相加的结果)。
2. 该矩阵的所有子矩阵的 $\texttt{OR}$ 值之和(所有子矩阵 $\texttt{OR}$ 值相加的结果)。
接下来的剧情你应该已经猜到——Freda 并不想花费时间解决如此简单的问题,所以这个问题就交给你了。
由于答案可能非常的大,你只需要输出答案对 $1,000,000,007 (10^9 + 7)$ 取模后的结果。
输入格式
输入文件的第一行是一个正整数 $N$,表示矩阵的尺寸。
接下来 $N$ 行,每行 $N$ 个自然数,代表矩阵的一行。相邻两个自然数之间由一个或多个空格隔开。
接下来 $N$ 行,每行 $N$ 个自然数,代表矩阵的一行。相邻两个自然数之间由一个或多个空格隔开。
输出格式
输出只有一行,包含两个用空格隔开的整数,第一个应为所有子矩阵 $\texttt{AND}$ 值之和除以 $10^9 + 7$ 的余数,第二个应为所有子矩阵 $\texttt{OR}$ 值之和除以 $10^9 + 7$ 的余数。
输入输出样例
输入 #1
3 1 0 0 0 0 0 0 0 0
输出 #1
1 9
输入 #2
3 1 2 3 4 5 6 7 8 9
输出 #2
73 314
所有测试数据的范围和特点如下表所示:
|测试点编号|$n$ 的规模|矩阵中的自然数|
|:-:|:-:|:-:|
|$1$|$1 \le n \le 10$|$\le 100$|
|$2$|$1 \le n \le 10$|$\le 100$|
|$3$|$1 \le n \le 100$|$\le 100$|
|$4$|$1 \le n \le 100$|$\le 100$|
|$5$|$1 \le n \le 100$|$\le 100$|
|$6$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$7$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$8$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$9$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$10$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|测试点编号|$n$ 的规模|矩阵中的自然数|
|:-:|:-:|:-:|
|$1$|$1 \le n \le 10$|$\le 100$|
|$2$|$1 \le n \le 10$|$\le 100$|
|$3$|$1 \le n \le 100$|$\le 100$|
|$4$|$1 \le n \le 100$|$\le 100$|
|$5$|$1 \le n \le 100$|$\le 100$|
|$6$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$7$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$8$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$9$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
|$10$|$1 \le n \le 1,000$|$\le 2^{31} - 1$|
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?