#PFXD10. 矩形翻色

矩形翻色

题目描述

给定一张 RR 行 CC 列的黑白网格,00 表示白格,11 表示黑格。

接下来进行 mm 次操作,每次把一个矩形内的所有格子翻色,即白格变黑、黑格变白。矩形包含其边界,操作依次执行。

请输出全部操作结束后黑格的数量。

输入格式

第一行三个整数 R,C,mR,C,m。

接下来 RR 行,每行 CC 个整数,表示网格初始颜色。

接下来 mm 行,每行四个整数 x1,y1,x2,y2x_1,y_1,x_2,y_2,表示翻转从第 x1x_1 行到第 x2x_2 行、从第 y1y_1 列到第 y2y_2 列的所有格子,包含边界。

输出格式

输出一个整数,表示最终的黑格数量。

2 3 2
0 1 0
1 0 1
1 1 2 2
1 2 1 3
5
1 1 2
1
1 1 1 1
1 1 1 1
1

样例 1 解释

第一次操作后两行分别为 1,0,01,0,0 和 0,1,10,1,1。第二次操作后两行分别为 1,1,11,1,1 和 0,1,10,1,1,共有五个黑格。

样例 2 解释

唯一格子被翻转两次,恢复原来的黑色,答案为 11。

数据范围与提示

对于所有测试点:1≤R,C≤10001\le R,C\le1000,1≤m≤2000001\le m\le200000;初始颜色均为 00 或 11。

所有操作满足 1≤x1≤x2≤R1\le x_1\le x_2\le R,1≤y1≤y2≤C1\le y_1\le y_2\le C。

共 2020 个测试点,每个测试点 55 分,独立计分。以下限制均在完整数据范围的基础上额外成立;未列出的参数仍遵守完整数据范围。

测试点编号 额外规模限制
1—5 R,C≤6R,C\le6,m≤30m\le30
6—10 R,C≤50R,C\le50,m≤2000m\le2000
11—20 无额外限制

时间限制:2 秒。内存限制:128 MiB。