#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. lnmp环境搭设

    安装nginx============================ 1添加nginx的rpm信息 rpm -Uvh http://nginx.org/packages/centos/7/noarc ...

  2. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...

  3. Three Key Points of Success 成功三要素

    Everyone wants to be successful. Today I would like to share three simple key points of success. Num ...

  4. CH3801Rainbow的信号

    Description Freda发明了传呼机之后,rainbow进一步改进了传呼机发送信息所使用的信号.由于现在是数字.信息时代,rainbow发明的信号用N个自然数表示.为了避免两个人的对话被大坏 ...

  5. Kubernetes快速入门

    二.Kubernetes快速入门 (1)Kubernetes集群的部署方法及部署要点 (2)部署Kubernetes分布式集群 (3)kubectl使用基础 1.简介 kubectl就是API ser ...

  6. 清理 Sketch缓存 Storyist 3.5.1中文破解版 for Mac

    Sketch这款软件可以用来做原型和UI设计,很多设计师和产品经理都在用,时间长了以后,Sketch会占据不少缓存空间,这时候可以试试 Sketch Cache Cleaner 这款软件清理历史文件和 ...

  7. 解决VS2017授权问题及没有Add ArcGIS License Checking问题

    内容源自:ArcGIS Engine+C#入门经典 老版本采用: 控件布局好后,需要对程序添加License许可.在Visual Studio的菜单栏上单击“项目”→单击“Add ArcGIS Lic ...

  8. PHP call_user_func的一些用法和注意点

    版本:PHP 5.6.28 在call_user_func的调用中: 1.参数的传递过程,并不是引用传值. 1 error_reporting(E_ERROR); // 此处不是E_ALL 2 $cu ...

  9. wait,notify,notifyAll详细介绍

    https://www.cnblogs.com/pangyang/articles/5916349.html

  10. 利用git工具将自己的代码文件上传到Github

    GitHub 是一个面向开源及私有软件项目的托管平台,作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及 ...