#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int s,n;
int op;
const int maxn=2e6+;
int c[maxn];
struct SS
{
int lowbit(int x)
{
return x&(-x);
}
void add(int x,int w)
{
for(;x<=n;x+=lowbit(x))
{
c[x]+=w;
}
}
int sum(int x)
{
int res=;
for(;x;x-=lowbit(x))
{
res+=c[x];
}
return res;
}
}XX;
int ans[maxn]; struct node
{
int id;
int op;
int x1,x2,y1,y2;
bool operator <(const node &x)const
{
if(x1==x.x1)
{
return op<x.op;
}
return x1<x.x1;
}
}way[maxn],a[maxn];
void cdq(int l,int r)
{
if(l==r)
{
return ;
}
int mid=(l+r)>>;
cdq(l,mid);
cdq(mid+,r);
int cnt=;
for(int i=l;i<=mid;i++)
{
if(way[i].op==)
{
a[cnt++]=way[i];
}
}
for(int i=mid+;i<=r;i++)
{
if(way[i].op==)
{
a[cnt++]=way[i];
a[cnt-].op=;
a[cnt++]=way[i];
a[cnt-].op=;
a[cnt-].x1=way[i].x2;
}
}
sort(a,a+cnt);
for(int i=;i<cnt;i++)
{
if(a[i].op==)
{
ans[a[i].id]-=(XX.sum(a[i].y2)-XX.sum(a[i].y1-));
}
else
if(a[i].op==)
{
XX.add(a[i].y1,a[i].x2);
}
else
{
ans[a[i].id]+=(XX.sum(a[i].y2)-XX.sum(a[i].y1-));
}
}
}
inline int read()
{
int x=,f=;
char ch=getchar();
while(isdigit(ch)== && ch!='-')ch=getchar();
if(ch=='-')f=-,ch=getchar();
while(isdigit(ch))x=x*+ch-'',ch=getchar();
return x*f;
}
int main()
{
memset(c,,sizeof(c));
memset(ans,,sizeof(ans));
s=read();
n=read();
int cnt=;
int tot=;
while(scanf("%d",&op)&&op!=)
{
if(op==)
{
int x,y,z;
x=read();
y=read();
z=read();
way[++cnt].op=op;
way[cnt].id=-;
way[cnt].x1=x;
way[cnt].y1=y;
way[cnt].x2=z;
way[cnt].y2=; }
if(op==)
{
int x1,x2,y1,y2;
x1=read();
y1=read();
x2=read();
y2=read();
way[++cnt].op=op;
way[cnt].id=++tot;
way[cnt].x1=x1;
way[cnt].x2=x2;
way[cnt].y1=y1;
way[cnt].y2=y2;
}
}
cdq(,cnt);
for(int i=;i<=tot;i++)
{
printf("%d\n",ans[i]);
//cout<<ans[i]<<endl;
}
return ;
}

T7的更多相关文章

  1. [archlinux] 迁移T7从T460s到T470

    这已经不是第一次做OS的迁移了,T7早已经迁移过多台设备了.所以,其实只需要如下三步: 1.  rsync 我一直有全系统备份的习惯,T7一直会不定期的全系统rsync到Tstation上面去.所以我 ...

  2. 面试一个百度T7程序员,一道简单的题没答上来!网友却都在吐槽面试官!

    程序员面试时都考些什么? 一个面试官得意洋洋地说自己面了一个百度T7,出了一道coding题,结果对方连最长上升子序列都写不出来.   楼主本想嘲弄一下百度T7的代码水平低,没想到网友们炸开了锅,纷纷 ...

  3. 套题T7

    P4712 铺瓷砖 时间: 1000ms / 空间: 65536KiB / Java类名: Main   描述

  4. 2019 Multi-University Training Contest 3 T7 Find the answer

    Find the answer Time Limit: 4000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...

  5. C#中如何给Excel添加水印

    我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观.所以在这篇文章中,我将 ...

  6. JavaWeb——Listener

    一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...

  7. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  8. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  9. 我的MYSQL学习心得(九) 索引

    我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. 关于javascript中的prototype

    作为一个致力于前端开发的人员,能够熟练掌握javascript的原理和机制是每个小白的必经之路,这也是最痛苦的.有人说前端功力好不好最主要的就是看对js的掌握能力,有人说十年也啃不完一门javascr ...

  2. XCTF-upload

    这道题的话,看了一下是RCTF-2015的原题....可是这也太难了吧QAQ,文件名作为注入点可也是太秀了,害的我一直以为是文件上传QAQ,并且这道题的坑还不少,就是注入时的输出只能为10进制.... ...

  3. js时间查询补充

    先来看下JS中的日期操作: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年 ...

  4. 转:python2.x 和 python3.x的区别

    注:本文的原文地址为Key differences between Python 2.7.x and Python 3.x 许多 Python 初学者想知道他们应该从 Python 的哪个版本开始学习 ...

  5. MySQL基础(三)多表查询(各种join连接详解)

    Mysql 多表查询详解 一.前言 二.示例 三.注意事项 一.前言 上篇讲到Mysql中关键字执行的顺序,只涉及了一张表:实际应用大部分情况下,查询语句都会涉及到多张表格 : 1.1 多表连接有哪些 ...

  6. macbook使用美化工具在屏幕展示出常查信息

    磕叨 凭本人自己的经验,写代码过程中要经常查看内存使用网络流量下等,所以经常用到命令去查,而且mac上的命令跟linux上又有些不一样,经常打错. 多年前还没用mac前我用的是ubnutu,那时还是1 ...

  7. [JZOJ4737] 【NOIP2016提高A组模拟8.25】金色丝线将瞬间一分为二

    Description Input Output Sample Input 5 101 12 23 34 45 5 Sample Output 4 Data Constraint Hint 开long ...

  8. phpfpm的原理是什么?

    php-fpm是一种master(主)/worker(子)多进程架构,与nginx设计风格有点类似.master进程主要负责CGI及PHP环境初始化.事件监听.子进程状态等等,worker进程负责处理 ...

  9. php下载文件,线上文件下载

    1.多个文件下载 <?php /* 把知道的图片问题名字做成一个数组 */ $mp4 = ['123','456']; /* count($mp4) 类似于 js 的 $mp4.length * ...

  10. ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能

    长话短说,具体的请看图 需求如图: 修改CheckColumn.js源码,添加鼠标点击改变事件 完整JS脚本 Ext.ns('Ext.ux.grid'); Ext.ux.grid.CheckColum ...