题目名称 | 451. 布匠问题 |
---|---|
输入输出 | fabric.in/out |
难度等级 | ★★★ |
时间限制 | 3000 ms (3 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | Pom 于2010-07-03加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:20, 提交:41, 通过率:48.78% | ||||
APWTMECRD | 100 | 1.610 s | 4.18 MiB | C++ |
烟雨 | 100 | 1.626 s | 4.18 MiB | C++ |
@@@ | 100 | 1.708 s | 4.21 MiB | C++ |
梦那边的美好ET | 100 | 1.711 s | 4.21 MiB | C++ |
FoolMike | 100 | 1.711 s | 30.81 MiB | C++ |
YueYueZha | 100 | 2.408 s | 38.44 MiB | C++ |
YueYueZha | 100 | 2.484 s | 38.44 MiB | C++ |
822 | 100 | 2.717 s | 38.44 MiB | C++ |
822 | 100 | 2.764 s | 38.44 MiB | C++ |
TBK | 100 | 3.217 s | 1.22 MiB | C++ |
关于 布匠问题 的近10条评论(全部评论) | ||||
---|---|---|---|---|
2^k分治树复杂度似乎和KD树在k较小的情况下是相同的,而且2^k分治树常数上比KD树要优秀
原来高一YY出来的这玩意儿真的是能用的! | ||||
K-D树上打延迟标记是什么感觉?嗯!就是这个感觉!
葳棠殇
2016-04-21 07:47
2楼
| ||||
二维线段树写不出来,一维线段树又超时,然后自己YY了个四分树AC了,看看大家的代码都是暴力。。想死的心都有了TUT
|
布匠L所居住的城市遭遇了虫灾!这是一个天大的坏消息,因为虫子会吃掉L的布匹。
但是L是一个优秀的布匠,他可以给自己的布打补丁,弥补被虫子吃掉的部分。
从现在到虫灾结束的每一天里,虫子都可能会袭击L的布匹,但是如果某一天没有发生袭击事件,L将会为他的布匹打补丁,或者向你询问他的布匹的某一个区域内有多少个虫洞。
L的布被描述为一个N*M的矩形,矩形分为N*M个单元格。每次虫群袭击会吃掉一块R*Q的矩形布块(虫群可能会袭击没有布的区域,比如前面已经被吃掉了),如果没有虫群袭击,当日L将会将一块S*T的矩形区域内的所有被吃掉的单元格打上补丁,或者向你发出一次询问。请设计程序对L的每次询问做出回答。
输入格式:
第一行三个整数 N,M,Q,(Q为虫灾持续的天数)
第2到第Q+1行,每行5个整数
O x1 y1 x2 y2
若O=0 表示今天L向你发出询问,在左上角坐标为x1,y1右下角坐标为x2,y2的矩形内有多少个被虫吃掉的单元格
若O=1表示今天虫群将袭击左上角坐标为x1,y1右下角坐标为x2,y2的矩形布匹
若O=2表示今天L将为左上角坐标为x1,y1右下角坐标为x2,y2的矩形布匹内缺失的单元格打上补丁。(若没有虫洞则不打补丁,打的补丁后来也可能会被吃掉)
输出格式:
对于L的每一个询问输出一个答案,每行一个
样例输入 fabric.in
4 5 4
1 2 2 3 4
0 1 2 2 5
2 3 1 3 3
0 1 1 4 5
样例输出 fabric.out
3
4
数据规模
对于30%的数据 1<=N,M<=200;
对于100%的数据 1<=N,M<=1000,1<=Q<=10000
By Pom