QOJ.ac

QOJ

时间限制: 1.5 s 内存限制: 256 MB 总分: 100

#2388. 矩阵查询

统计

给定一个大小为 $2^n \times 2^n$ 的矩阵,初始时所有单元格均为白色。单元格的颜色可以是黑色或白色。

我们定义矩阵的“价格”如下: 1. 如果矩阵仅由一种颜色组成,则价格为 1 个硬币; 2. 否则,将矩阵平分为 4 个大小相等的子矩阵,该矩阵的价格为这 4 个子矩阵的价格之和加上 1 个硬币。

你需要处理 $q$ 次查询。每次查询给出一个行号或列号 $x$,你需要翻转该行或该列中所有单元格的颜色(即:如果单元格是白色,则变为黑色;如果单元格是黑色,则变为白色),并计算翻转后矩阵的价格。

输入格式

第一行包含两个整数 $n$ 和 $q$ ($0 \le n \le 20, 1 \le q \le 10^6$),其中 $n$ 表示矩阵的大小为 $2^n \times 2^n$,$q$ 表示查询次数。

接下来的 $q$ 行,每行包含两个整数 $t$ 和 $x$ ($0 \le t \le 1, 1 \le x \le 2^n$)。如果 $t = 0$,则翻转第 $x$ 行;否则,翻转第 $x$ 列。

输出格式

对于每次查询,输出矩阵的价格。

样例

输入格式 1

2 7
1 3
0 2
1 1
1 4
0 4
0 3
1 1

输出格式 1

13
17
21
17
21
17
13

说明

在样例中,每次查询后矩阵的状态如下:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.