题目 1780

修墙

查看题解 ↗GitHub ↗如何评测
题号
1780
时间限制
2000 ms
内存限制
1024 MB
标签
动态规划
来源
信息学奥赛一本通 · 高手训练篇·五、动态规划(高手训练)

【题目描述】

在地图上,土地可以大致用一个无限大的黑白二维矩阵表示,其中用户为白格,墙为黑格。由于墙很高,两个用户能够互相通信当且仅当在网格上这两个白格能够只经过四联通的白格相互到达。 经过一番细致的研究,发现这个地图可以由如下过程迭代构造。 地图上一开始只有一个白格。 一次迭代中,假设原来的地图为AA,那么新的地图为

文本
AA
AB

其中BB为一个与AA边长相同且全为黑格的正方形矩阵。 例如三次迭代之后,我们得到了这样一个矩阵(WW表示白格,BB表示黑格): 题面图片 经过无限次迭代之后,我们就得到了土地对应的黑白矩阵。 无限大的地图,分析起来过于困难。每次会截出一个子矩阵,他想要知道这个子矩阵中的用户在墙的阻隔下组成了多少个联通块,联通块定义为极大的能够互相通信的用户集合。 由于一次询问不足以分析,需要进行qq次询问。

文本
AA\nAB

【输入】

第一行一个正整数qq。 接下来qq行每行四个正整数x1,y1,x2,y2(1≤x1≤x2,1≤y1≤y2)x_1,y_1,x_2,y_2(1≤x_1≤x_2,1≤y_1≤y_2),表示询问以第x1x_1行第y1y_1列,第x2x_2行第y2y_2列为两对角的矩形内用户形成的联通块数。

【输出】

qq行,每行一个正整数,表示对应矩形内的联通块数量。

【输入样例】

文本
4
1 1 5 5
2 2 3 6
4 2 7 5
2 2 2 2

【输出样例】

文本
1
3
3
0

【提示】

需要注意的是如果矩形内没有用户应该输出00。

子任务编号 子任务分值 qq x2,y2x_2,y_2
11 2020 ≤300≤300 ≤300≤300
22 2020 ≤3000≤3000 ≤3000≤3000
33 3030 ≤100000≤100000 ≤109≤10^9
44 3030 ≤106≤10^6 ≤109≤10^9

数据下载

题目 1780 的公开数据

正在读取文件列表…

常用命令

题目 1780 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。