[bzoj1935][shoi2007]Tree 园丁的烦恼(树状数组+离线)
1935: [Shoi2007]Tree 园丁的烦恼
Time Limit: 15 Sec Memory Limit: 357 MB
Submit: 980 Solved: 450
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
0 0
0 1
1 0
0 0 1 1
Sample Output
HINT
Source
二维树状数组?快去试试!
好吧,数组已炸。但可以试试别的方法,比如只用一维树状数组
一维怎么做?忽略另一维就好了
当然,数据不会弱到这都能A的
但是我们看看什么情况这种做法就是对的
画一个图,观察到例如忽略y轴时,对于询问(1,1)(x,y),如果在1到x间,只添加了从1到y间的点,那么这么做就是正确的
所以对于所有坐标和询问都按一个坐标轴排序,按另一轴建树状数组(注意是混起来)
这样就能保证处理询问时,上面的情况时刻成立
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;
typedef struct{
int x,y,id,f;
}tr;
int cmp(const tr a,const tr b){
if(a.x!=b.x)return a.x<b.x;
else if(a.y!=b.y)return a.y<b.y;
else return a.id<b.id;//???
}
tr qr[];
int cnt=;
int bit[];
int ans[];
int mx=,m,n;
int lb(int x){
return x&(-x);
}
int q(int x){
int ans=;
while(x){
ans+=bit[x];
x-=lb(x);
}
return ans;
}
int c1(int x){
while(x<=mx+){
bit[x]++;
x+=lb(x);
}
return ;
}
int main(){
scanf("%d %d",&n,&m);
for(int i=;i<=n;i++){
scanf("%d %d",&qr[i].x,&qr[i].y);
qr[i].x++;
qr[i].y++;
mx=max(qr[i].y,mx);
}
cnt=n;
for(int i=;i<=m;i++){
int a,b,c,d;
scanf("%d %d %d %d",&a,&b,&c,&d);
c++;
d++;
qr[++cnt].x=a,qr[cnt].y=b,qr[cnt].f=,qr[cnt].id=i;
qr[++cnt].x=a,qr[cnt].y=d,qr[cnt].f=-,qr[cnt].id=i;
qr[++cnt].x=c,qr[cnt].y=b,qr[cnt].f=-,qr[cnt].id=i;
qr[++cnt].x=c,qr[cnt].y=d,qr[cnt].f=,qr[cnt].id=i;
}
sort(qr+,qr+cnt+,cmp);
for(int i=;i<=cnt;i++){ if(!qr[i].id)c1(qr[i].y);
else ans[qr[i].id]+=(qr[i].f)*(q(qr[i].y));
}
for(int i=;i<=m;i++){
printf("%d\n",ans[i]);
}
return ;
}
[bzoj1935][shoi2007]Tree 园丁的烦恼(树状数组+离线)的更多相关文章
- BZOJ1935: [Shoi2007]Tree 园丁的烦恼(树状数组 二维数点)
题意 题目链接 Sol 二维数点板子题 首先把询问拆成四个矩形 然后离散化+树状数组统计就可以了 // luogu-judger-enable-o2 #include<bits/stdc++.h ...
- BZOJ 1935: [Shoi2007]Tree 园丁的烦恼 [树状数组 离线 离散化]
传送门 刚才我还在郁闷网上怎么没人用$CDQ$分治做 突然发现根本没有时间序.... #include<iostream> #include<cstdio> #include& ...
- 【bzoj4822/bzoj1935】[Cqoi2017]老C的任务/[Shoi2007]Tree 园丁的烦恼 树状数组
原文地址:http://www.cnblogs.com/GXZlegend/p/6825530.html bzoj4822 题目描述 老 C 是个程序员. 最近老 C 从老板那里接到了一个任务 ...
- BZOJ 1935 Tree 园丁的烦恼 (树状数组)
题意:中文题. 析:按x排序,然后用树状数组维护 y 即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000" ...
- BZOJ1935: [Shoi2007]Tree 园丁的烦恼
1935: [Shoi2007]Tree 园丁的烦恼 Time Limit: 15 Sec Memory Limit: 357 MBSubmit: 552 Solved: 220[Submit][ ...
- bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼
http://www.lydsy.com/JudgeOnline/problem.php?id=1935 二维偏序问题 排序x,离散化树状数组维护y #include<cstdio> #i ...
- [bzoj1935][Shoi2007]Tree 园丁的烦恼 _树状数组
Tree 园丁的烦恼 bzoj-1935 Shoi-2007 题目大意:给定平面上的$n$个点,$m$次查询矩形点个数. 注释:$1\le n,m\le 5\cdot 10^5$. 想法:静态二维数点 ...
- [BZOJ1935][SHOI2007]Tree 园丁的烦恼(树状数组)
题目描述 很久很久以前,在遥远的大陆上有一个美丽的国家.统治着这个美丽国家的国王是一个园艺爱好者,在他的皇家花园里种植着各种奇花异草. 有一天国王漫步在花园里,若有所思,他问一个园丁道: “最近我在思 ...
- [BZOJ1935][SHOI2007]Tree 园丁的烦恼(离线+树状数组)
题意 给出第一象限的n个点,有m次询问,每次询问一个矩形中的点的个数.(0<=n,m<=500000,0<=xi,yi<=10000000) 题解 一眼望去不可做. 用二位前缀 ...
随机推荐
- NPOI 自定义单元格背景颜色-Excel
NPOI针对office2003使用HSSFWorkbook,对于offce2007及以上使用XSSFWorkbook:今天我以HSSFWorkbook自定义颜色为例说明,Office2007的未研究 ...
- Leetcode: Minimum Unique Word Abbreviation
A string such as "word" contains the following abbreviations: ["word", "1or ...
- linux------------Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
今天突然遇到这个么一个奇葩的问题,直接说问题的原因:原因是我们创建了一个计划任务,这个计划任务是一分钟执行一次,是iptables封ip的一个sh脚本.由于攻击我们的ip太多,已经达到了几千个,这个脚 ...
- opencv,图片遍历
//肤色提取,skinArea为二值化肤色图像 void skinExtract(const Mat &frame, Mat &skinArea) { Mat YCbCr; vecto ...
- No compiler is provided in this environment. Perhaps you are running on a JRE ra
No compiler is provided in this environment. Perhaps you are running on a JRE ra,有需要的朋友可以参考下. 控制台输出的 ...
- linux mysql root密码重置
MySQL安装解决方法:重改密码 先停止 Mysql # stop mysql 重要:输入下面的代码# mysqld_safe --user=mysql --skip-grant-tables --s ...
- SQL语句增加字段、修改字段、修改类型、修改默认值
一.修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约 ...
- C语言 02 include
stdio.h h表示header file include"text.txt" 自己写的文件用双引号,系统自带文件用<>. 绝对路径用 / ,相对路径不带/
- Razor语法&ActionResult&MVC
Razor代码复用 mvc 4 razor语法讲解和使用 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult 了解ASP.NE ...
- SAMSUNG某型号一千短信成功记录!对比其他软件恢复不成功的案列!
Hello! 大家好欢迎再次来到Dr.wonde的博客, 下面谈一下今天的案列,今年11月26号收到了一客户寄来的三星S4手机恢复里面短信, 如下图所示,用其他软件恢复以后,数据为零,没有恢复,,这下 ...