【bzoj2422】 Times 前缀和
本来想练一下树状数组的,看到网上某人的blog后点了进来。
第一眼发现不会,出去上了个厕所发现离散化后不是一道简单前缀和题吗。
考虑到每一个人出现且仅出现一次,且出现的时间是在一个连续的区间内。
那么对于一组询问(l,r),当这个人在时刻l前消失,或者再时刻l+r后出现,那么你才会看不到。
那么我们维护一个sum1[i],表示在时刻i及之前,出现过并且已经消失的人的数量。
维护一个sum2[i],表示在时刻i及之后才出现的人的数量。
答案显然是n-sum1[l-1]-sum2[l+r]。
然后就没了,空间记得开够!
#include<bits/stdc++.h>
#define M 200005
using namespace std; int c[M*]={},cnt=;
int a[M]={},b[M]={},l[M]={},r[M]={};
int sum1[M*]={},sum2[M*]={}; int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){
scanf("%d%d",a+i,b+i);
b[i]+=a[i]-;
c[++cnt]=a[i];
c[++cnt]=b[i];
}
for(int i=;i<=m;i++){
scanf("%d%d",l+i,r+i);
r[i]+=l[i]-;
c[++cnt]=l[i];
c[++cnt]=r[i];
}
sort(c+,c+cnt+);
for(int i=;i<=n;i++)
a[i]=lower_bound(c+,c+cnt+,a[i])-c,
b[i]=lower_bound(c+,c+cnt+,b[i])-c;
for(int i=;i<=m;i++)
l[i]=lower_bound(c+,c+cnt+,l[i])-c,
r[i]=lower_bound(c+,c+cnt+,r[i])-c; for(int i=;i<=n;i++)
sum1[b[i]]++,sum2[a[i]]++;
for(int i=;i<=cnt;i++) sum1[i]+=sum1[i-];
for(int i=cnt;i;i--) sum2[i]+=sum2[i+]; for(int i=;i<=m;i++){
printf("%d\n",n-sum1[l[i]-]-sum2[r[i]+]);
}
}
【bzoj2422】 Times 前缀和的更多相关文章
- HDU1671——前缀树的一点感触
题目http://acm.hdu.edu.cn/showproblem.php?pid=1671 题目本身不难,一棵前缀树OK,但是前两次提交都没有成功. 第一次Memory Limit Exceed ...
- 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的 ...
- ASP.NET Core MVC 配置全局路由前缀
前言 大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀.严格说其实不算是新特性,不过是Core MVC特有的. 应用背景 不知道大家在做 Web Ap ...
- 如何处理CSS3属性前缀
今天闲来无聊,重新来说说CSS3前缀的问题.在春节前和@一丝姐姐说起Sass中有关于gradient的mixins.姐姐说: 为什么还要用mixin呢?为什么不使用Autoprefixer?使用Aut ...
- context:component-scan" 的前缀 "context" 未绑定。
SpElUtilTest.testSpELLiteralExpressiontestSpELLiteralExpression(cn.zr.spring.spel.SpElUtilTest)org.s ...
- 解决adobe air sdk打包 apk后自动在包名前面加上air. (有个点)前缀的问题
早就找到了这个方法,但是一直忙没心思写博客. 默认情况下,所有 AIR Android 应用程序的包名称都带 air 前缀.若不想使用此默认行为,可将计算机环境变量 AIR_NOANDROIDFLAI ...
- adobe air类app 接入腾讯开放平台移动游戏使用带tencent包名前缀的问题
作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/4209159.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 ------ ...
- [LeetCode] Implement Trie (Prefix Tree) 实现字典树(前缀树)
Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...
- [LeetCode] Longest Common Prefix 最长共同前缀
Write a function to find the longest common prefix string amongst an array of strings. 这道题让我们求一系列字符串 ...
随机推荐
- Maximum profit of stocks
https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...
- ajax序列化表单,再也不用通过data去一个个的传值了
jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化 这样,我们就可以把序列化的值传给ajax()作为 ...
- 控件无法安装的问题-Unable to execute file
官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/wordpaster/ 产品介绍:http://www.cnblogs.com ...
- [ IE浏览器兼容问题 ] Web Uploader 在IE、FireFox下点击上传没反应
一.项目源码: > html > js 初始化插件: 事件绑定:avalon > web > 报错: - IE: 脚本缺少对象 - FireFox: js业务逻辑代码部分事件正 ...
- ISO 8895-1
https://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout http://czyborra.com/charsets/
- (最小生成树 次小生成树)The Unique MST -- POJ -- 1679
链接: http://poj.org/problem?id=1679 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82831#probl ...
- SetFocus (GetDlgItem (hwnd, idFocus))函数的各参数的具体含义
Setfocus(HWMD hwnd):将窗口hwnd设置成获得焦点 GetDlgItem (hwnd, idFocus):此函数返回一个句柄 具体参数的含义: hwnd:包含该窗口标志位的对话框的句 ...
- D3 drag
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django开发Web监控工具-pyDash
今天发现了一个比较有意思的监控工具,是基于Django开发的,开发大牛已经开放了源代码,向大牛致敬,同时研究研究,目前感觉这个监控比较直观,可以针对个人服务器使用,同时涉及的环境比较简单,部署起来 ...
- TFS 如何強制撤銷被簽出的文件
我们在使用TFS (Team Foundation Server) 源代码管理的时候,源代码管理会在每个PC上创建一个工作区,然后这个工作区域映像到服务器上的源码文件夹,我们在正常签入,签出的时候,我 ...