(File IO): input:square.in output:square.out
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
Goto ProblemSet


题目描述
今天小DDD在他的课桌上玩方格纸,现在有一个平面直角坐标系,小DDD将方块纸放在这个坐标系中,并且方格纸的都与xxx轴、yyy轴平行,小DDD在这上面放了许多的方格纸,然后想知道对于平面直角坐标系中的一个点有多少个方格纸覆盖(包括方格纸的边和点),因为方格纸太多了,所以请聪明的你帮小DDD解决问题。


输入
第一行 一个正整数N,接下来N行 每行四个正整数x1,y1,x2,y2x1,y1,x2,y2x1,y1,x2,y2,分别表示方格纸左下角的坐标和右上角的坐标。
第n+2n+2n+2行一个正整数QQQ,接下来QQQ行 每行两个正整数x,yx,yx,y,表示询问点的坐标。

输出
一共QQQ行,表示对应坐标。


样例输入
3
1 1 5 5
2 2 6 6
3 1 4 3
2
2 2
4 3

样例输出
2
3


数据范围限制
303030%的数据, N∗Q≤107N*Q≤10^7N∗Q≤107。
100100100%的数据, N,Q≤105,0<x1,y1,x2,y2,x,y≤3000N,Q≤10^5,0<x1,y1,x2,y2,x,y≤3000N,Q≤105,0<x1,y1,x2,y2,x,y≤3000。


解题思路
303030%的方法 :
对于每一个询问,枚举每个方格纸是否覆盖到。
时间复杂度O(N∗Q)O(N*Q)O(N∗Q)

100100100%的方法 :
因为方格纸所放在的平面直角坐标系的地方十分的小,只有(0,0)到(2000,2000)(2000,2000)(2000,2000),面积不足,所以只用将
每个点被多少个方格纸覆盖算出来就可以了,直接一个一个加显然不可行,我们可以用差分的思想,把这张方
格纸的四个角加上差分的系数,最后把前缀和求出来就可以了。
例如:一张方格纸左下角(0,0)(0,0)(0,0)右上角(1,1)(1,1)(1,1),对于这张方格纸需要变成这样

我们只需要


代码

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int n,x,y,x1,y2,q,a1,b,f[4000][4000],a[4000][4000];
int main(){freopen("square.in","r",stdin);freopen("square.out","w",stdout);scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d%d%d",&x,&y,&x1,&y2);a[x][y]++;a[x1+1][y2+1]++;a[x1+1][y]--;a[x][y2+1]--;}for(int i=1;i<=3000;i++){for(int j=1;j<=3000;j++)f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+a[i][j];}scanf("%d",&q);for(int i=1;i<=q;i++){scanf("%d%d",&a1,&b);printf("%d\n",f[a1][b]);}
}

(纪中)2162. 方格纸(square)【差分+前缀和】相关推荐

  1. 方格纸(square)

    方格纸(square) 题目描述 今天小D在他的课桌上玩方格纸,现在有一个平面直角坐标系,小D将方块纸放在这个坐系 中,并且方格纸的都与x轴.y轴平行,小D在这上面放了许多的方格纸,然后想知道对于平 ...

  2. BZOJ4972 八月月赛 Problem B 小Q的方格纸 二维前缀和

    欢迎访问~原文出处--博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4972 八月月赛Problem B 题目概括 一个矩阵,一坨询问,问矩阵中一个特定方向的等腰直角三角 ...

  3. 10.31纪中DAY3_公牛和母牛 气象牛 轻轨 设计

    noip2019-counting down three weeks 纪中day3 (头发日益稀少) 10.31纪中B组notes 公牛和母牛(USACO FEB09 Problem 'bullcow ...

  4. 2020寒假【gmoj2162】【方格纸】【差分+前缀和】

    题目描述 今天小D在他的课桌上玩方格纸,现在有一个平面直角坐标系,小D将方块纸放在这个坐标系中,并且方格纸的都与x轴.y轴平行,小D在这上面放了许多的方格纸,然后想知道对于平面直角坐标系中的一个点有多 ...

  5. 前缀和--BZOJ-4972 小Q的方格纸

    小Q的方格纸有n行m列,一共n*m个方格,从上到下依次标记为第1,2,...,n行,从左到右依次标记为第1,2,...,m列,方便起见,小Q称第i行第j列的方格为(i,j).小Q在方格纸中填满了数字, ...

  6. 纪中 Day13Day14

    纪中 Day13&Day14 T1: 高精减例题 我竟然在输出0的时候换了行!! T2: 想蒙分,没做出来 T3: 深搜蒙分 T4: 数学不好,没推出方程 T1 Oliver的成绩 题目: O ...

  7. 纪中DAY15做题小结

    纪中DAY15做题小结 T1:淘汰赛制 T2:方程的解 T3:物流运输 T4:矩阵乘法(mat) T1:淘汰赛制 Description 淘汰赛制是一种极其残酷的比赛制度.2 ^ n名选手分别标号1, ...

  8. 纪中DAY10做题小结

    纪中DAY10做题小结 T1:库特的向量(code) T2:恭介的法则(rule) T3:沙耶的玩偶(doll) T1:库特的向量(code) Description 从前在一个美好的校园里,有一只( ...

  9. HRBUST 1909——理工门外的树——————【离线处理,差分前缀和】

    理工门外的树 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %lld , %llu Java class n ...

  10. 纪中2019(上)游记+总结

    目录之下 文章目录 目录之下 游记之下 Day−1Day-1Day−1 Day0Day0Day0 Day1Day1Day1 Day2Day2Day2 Day3Day3Day3 Day4Day4Day4 ...

最新文章

  1. AI端计算产业应用:如何快速训练高精度模型并在设备端加速计算 | 公开课报名...
  2. vivo分屏_vivo分屏+Jovi语音助手!让你找到解题新思路
  3. 走进武汉,探索多媒体开发最佳实践
  4. kopernio显示无效程序_陆风路虎外观设计专利无效案一锤定音,最高法:陆风X7专利无效...
  5. python程序设计基础第三版_Python程序设计(第三版)PPT及源码
  6. 深度学习训练和推理有何不同?
  7. 洛谷P1821 [USACO07FEB]银牛派对Silver Cow Party
  8. react 遍历渲染
  9. 网络地址16777343是什么地址?
  10. 2019年上半年 系统分析师 论文 真题
  11. 用sokit发送http请求和响应
  12. C语言课设贪吃蛇说明书,c语言课设贪吃蛇.doc
  13. RK3568平台开发系列讲解(安卓篇)JNI调用流程分析
  14. UltraISO制作启动盘时报错:磁盘/映像容量太小
  15. 身份证识别项目(二)-- 3755个汉字的识别
  16. LTE中阻塞干扰,杂散干扰,邻信道干扰,交调干扰,加性噪声干扰分析
  17. Closures in OOC
  18. 【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer
  19. flex是什么及flex布局语法
  20. 《计算机操作系统》(第四版)汤子瀛等编著——思维导图详细版本

热门文章

  1. 王道数据结构3.3.6——2、铁道进行车厢调度,将一辆列车的硬座车厢都调到软坐车厢后面
  2. 华为机试 - 数字涂色
  3. IE火狐的代理服务器的设置
  4. php强行横屏,强制横屏app
  5. SqlSession的使用范围
  6. Kong 开源的服务网格Kuma爬过了K8S这座大山
  7. Python实现网页自动截图
  8. 电动汽车的数据记录 BMS
  9. 那些年Android面试官常问的知识点,快来收藏!
  10. leetcode + 腾讯面试