本来想练一下树状数组的,看到网上某人的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 前缀和的更多相关文章

  1. HDU1671——前缀树的一点感触

    题目http://acm.hdu.edu.cn/showproblem.php?pid=1671 题目本身不难,一棵前缀树OK,但是前两次提交都没有成功. 第一次Memory Limit Exceed ...

  2. 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed

    之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的 ...

  3. ASP.NET Core MVC 配置全局路由前缀

    前言 大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀.严格说其实不算是新特性,不过是Core MVC特有的. 应用背景 不知道大家在做 Web Ap ...

  4. 如何处理CSS3属性前缀

    今天闲来无聊,重新来说说CSS3前缀的问题.在春节前和@一丝姐姐说起Sass中有关于gradient的mixins.姐姐说: 为什么还要用mixin呢?为什么不使用Autoprefixer?使用Aut ...

  5. context:component-scan" 的前缀 "context" 未绑定。

    SpElUtilTest.testSpELLiteralExpressiontestSpELLiteralExpression(cn.zr.spring.spel.SpElUtilTest)org.s ...

  6. 解决adobe air sdk打包 apk后自动在包名前面加上air. (有个点)前缀的问题

    早就找到了这个方法,但是一直忙没心思写博客. 默认情况下,所有 AIR Android 应用程序的包名称都带 air 前缀.若不想使用此默认行为,可将计算机环境变量 AIR_NOANDROIDFLAI ...

  7. adobe air类app 接入腾讯开放平台移动游戏使用带tencent包名前缀的问题

    作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/4209159.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 ------ ...

  8. [LeetCode] Implement Trie (Prefix Tree) 实现字典树(前缀树)

    Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...

  9. [LeetCode] Longest Common Prefix 最长共同前缀

    Write a function to find the longest common prefix string amongst an array of strings. 这道题让我们求一系列字符串 ...

随机推荐

  1. Maximum profit of stocks

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...

  2. ajax序列化表单,再也不用通过data去一个个的传值了

    jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化 这样,我们就可以把序列化的值传给ajax()作为 ...

  3. 控件无法安装的问题-Unable to execute file

    官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/wordpaster/ 产品介绍:http://www.cnblogs.com ...

  4. [ IE浏览器兼容问题 ] Web Uploader 在IE、FireFox下点击上传没反应

    一.项目源码: > html > js 初始化插件: 事件绑定:avalon > web > 报错: - IE: 脚本缺少对象 - FireFox: js业务逻辑代码部分事件正 ...

  5. ISO 8895-1

    https://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout http://czyborra.com/charsets/

  6. (最小生成树 次小生成树)The Unique MST -- POJ -- 1679

    链接: http://poj.org/problem?id=1679 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82831#probl ...

  7. SetFocus (GetDlgItem (hwnd, idFocus))函数的各参数的具体含义

    Setfocus(HWMD hwnd):将窗口hwnd设置成获得焦点 GetDlgItem (hwnd, idFocus):此函数返回一个句柄 具体参数的含义: hwnd:包含该窗口标志位的对话框的句 ...

  8. D3 drag

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Django开发Web监控工具-pyDash

      今天发现了一个比较有意思的监控工具,是基于Django开发的,开发大牛已经开放了源代码,向大牛致敬,同时研究研究,目前感觉这个监控比较直观,可以针对个人服务器使用,同时涉及的环境比较简单,部署起来 ...

  10. TFS 如何強制撤銷被簽出的文件

    我们在使用TFS (Team Foundation Server) 源代码管理的时候,源代码管理会在每个PC上创建一个工作区,然后这个工作区域映像到服务器上的源码文件夹,我们在正常签入,签出的时候,我 ...