1. #include<bits/stdc++.h>
  2. #define rep(i,a,b) for(int i=a;i<=b;i++)
  3. using namespace std;
  4. int n,m,a[];
  5. void add(int i,int j,int val){a[(i-)*m+j]+=val;}
  6. int q(int i,int j)
  7. {
  8. if(i==||j==) return ;
  9. return a[(i-)*m+j];
  10. }
  11. int main(){
  12. int p,Q;
  13. while(cin>>n>>m){
  14. cin>>p;
  15. int x1,y1,x2,y2;
  16. rep(i,,n*m)a[i]=;
  17. while(p--){
  18. scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
  19. add(x1,y1,);add(x1,y2+,-);
  20. add(x2+,y1,-);add(x2+,y2+,);
  21. }
  22. rep(i,,n)//把差分数组转化成计数数组
  23. rep(j,,m){
  24. a[(i-)*m+j]=q(i,j-)+q(i-,j)-q(i-,j-)+a[(i-)*m+j];
  25. }
  26. rep(i,,n)//大于1的当成1
  27. rep(j,,m){
  28. if(a[(i-)*m+j]!=) a[(i-)*m+j]=;
  29. }
  30. rep(i,,n)//把计数数组转换成二维前缀和
  31. rep(j,,m){
  32. a[(i-)*m+j]=q(i,j-)+q(i-,j)-q(i-,j-)+a[(i-)*m+j];
  33. }
  34. cin>>Q;
  35. rep(i,,Q){
  36. scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
  37. int res=q(x2,y2)+q(x1-,y1-)-q(x1-,y2)-q(x2,y1-);
  38. if(res==(x2-x1+)*(y2-y1+)) printf("YES\n");
  39. else printf("NO\n");
  40. }
  41. }
  42.  
  43. }

二维前缀和好题hdu6514的更多相关文章

  1. 二维前缀和模板题:P2004 领地选择

    思路:就是使用二维前缀和的模板: 先放模板: #include<iostream> using namespace std; #define ll long long ; ll a[max ...

  2. HDU-6514 Monitor(二维前缀和+差分)

    http://acm.hdu.edu.cn/showproblem.php?pid=6514 Problem Description Xiaoteng has a large area of land ...

  3. COGS1752 [BOI2007]摩基亚Mokia(CDQ分治 + 二维前缀和 + 线段树)

    题目这么说的: 摩尔瓦多的移动电话公司摩基亚(Mokia)设计出了一种新的用户定位系统.和其他的定位系统一样,它能够迅速回答任何形如“用户C的位置在哪?”的问题,精确到毫米.但其真正高科技之处在于,它 ...

  4. P2280 [HNOI2003]激光炸弹(二维前缀和)

    题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(n≤10000)个目标,用整数xi,yi(0≤xi,yi≤5000)表示目标在地图上的位置,每个目标都有一个价 ...

  5. DP(悬线法)+二维前缀和【p2706】巧克力

    Background 王7的生日到了,他的弟弟准备送他巧克力. Description 有一个被分成n*m格的巧克力盒,在(i,j)的位置上有a[i,j]块巧克力.就在送出它的前一天晚上,有老鼠夜袭巧 ...

  6. Nowcoder farm ( 树状数组、二维前缀和、二维偏序 )

    题目链接 分析 : 最简单的想法当然就是去模拟 直接对每个施肥料的操作进行模拟.然后计算贡献 但是这显然会超时.这题需要换一个思维 对于一个土地(也就是二维平面上的一个点)的种类是 T' 如果它被操作 ...

  7. [CSP-S模拟测试]:任(duty)(二维前缀和)

    题目描述 $liu\_runda$退役之后就失去梦想开始咸鱼生活了……$Bilibili$夏日画板活动中,所有人都可以在一块画板上进行像素画创作.$UOJ$群有一群无聊的人决定在画板上创作一个$50\ ...

  8. Codeforces 1080C 题解(思维+二维前缀和)

    题面 传送门 题目大意: 有一个黑白的棋盘,现在将棋盘上的一个子矩形全部染成黑色,另一个子矩形全部染成白色 求染完色后黑,白格子的总数 分析 我们可以发现,对于一个(1,1)到(x,y)的矩形,若xy ...

  9. [CSP-S模拟测试]:physics(二维前缀和+二分+剪枝)

    题目传送门(内部题26) 输入格式 第一行有$3$个整数$n,m,q$.然后有$n$行,每行有一个长度为$m$的字符串,$+$表示正电粒子,$-$表示负电粒子.然后有$q$行,每行$2$个整数$x,y ...

随机推荐

  1. js04-DOM对象一

    一.什么是HTML  DOM HTML  Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 HTML 文档呈现 ...

  2. JDBC连接池之C3P0

    1.导入jar包 c3p0-0.9.1.jar mchange-commons-java-0.2.3.4(注:该jar包是c3p0数据库连接池的辅助包,没有这个包系统启动的时候会报classnotfo ...

  3. CDH Yarn 调度资源指南 - CDH6.0.x 详解

    Yarn 工作架构 最近随着集群大家开始频繁使用集群,资源调度的问题越发的凸显出来.需要更加深入的了解 yarn 资源调度的原理,以及到底在背后做了一些什么事情. 来看一下下面这张图. yarn 里面 ...

  4. nginx 80 端口 部署多个Web

    1.修改默认nginx.conf 文件 加入 include /usr/www/ngconfs/*.conf; 读取ngconfs文件下所有 *.conf文件 2.ngconfs 下多个文件创建 第二 ...

  5. 配置启动MySQL的Docker容器

    docker run -d -p : --name mysql -e MYSQL_ROOT_PASSWORD= mysql:

  6. Virtual Box虚拟机安装Ubuntu16.04以及整理的一些基本操作

    事先声明,参考自:https://www.cnblogs.com/wyt007/p/9856290.html 撰写此文,纯属是为了便利以后换电脑重装. 转载请注明地址:https://www.cnbl ...

  7. COGS 2353 2355 2356 2358 有标号的DAG计数

    不用连通 枚举入度为0的一层 卷积 发现有式子: 由$n^2-i^2-(n-i)^2=2*i*(n-i)$ 可得$2^{i*(n-i)}=\frac{{\sqrt 2}^{(n^2)}}{{\sqrt ...

  8. 走进Java中的持有对象(容器类)之一 容器分类

    Java容器可以说是增强程序员编程能力的基本工具,本系列将带您深入理解容器类. 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 ...

  9. Dubbo2.6.5入门——简单的HelloWorld

    建立父工程 打开idea,新建一个空的maven工程,作为整个项目的父工程. <?xml version="1.0" encoding="UTF-8"?& ...

  10. mysql5.7 修改root密码无法登陆原因

    升级的mysql5.7修改完root账户密码后仍然无法登陆,查阅资料可能和user表的plugin 字段为空有关. 1.首先将my.ini中加入在[mysqld]节点上加skip-grant-tabl ...