本来想练一下树状数组的,看到网上某人的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. C# 如何操作串口

    1.首先要引用  System.IO.Ports using System; using System.Collections.Generic; using System.ComponentModel ...

  2. UESTC 486 Good Morning (水题+坑!)

    题意:给你一行字符串,让你找其中蕴含的“good morning"的次数. 析:看起来很水么,多简单,只有统计一下其中字母的出现的次数,然后除以相应的个数. 但是很不幸的是WA,而且是在te ...

  3. strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别

    //计算字符串实际长度        //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0 ...

  4. post同步请求

    // http://api.hudong.com/iphonexml.do?type=focus-c     //post请求中url不带请求参数,请求参数在参数HTTPBody中设置, 需要创建可变 ...

  5. android 热更新nuwa

    简介 Nuwa是比较流行的一种Android热补丁方案的开源实现,它的特点是成功率高,实现简单.当然,热补丁的方案目前已经有很多了,AndFix, Dexposed, Tinker等,之所以要分析Nu ...

  6. POJ2676 – Sudoku(数独)—DFS

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 24081   Accepted: 11242   Specia ...

  7. 【lazy标记得思想】HDU3635 详细学习并查集

    部分内容摘自以下大佬的博客,感谢他们! http://blog.csdn.net/dm_vincent/article/details/7769159 http://blog.csdn.net/dm_ ...

  8. NOR Flash的学习

    NOR Flash简介    NOR FLASH是INTEL在1988年推出的一款商业性闪存芯片,它需要很长的时间进行抹写,大半生它能够提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,而且 ...

  9. mysql的sql性能分析器

    MySQL 的SQL性能分析器主要用途是显示SQL执行的整个过程中各项资源的使用情况.分析器可以更好的展示出不良SQL的性能问题所在. mysql sql profile的使用方法 1.开启mysql ...

  10. 跨终端Web

    1.终端vs设备 H5页面运行在同一设备的不同终端下. (1)Web浏览器. (2)微信.QQ浏览器. (3)移动App的Webview. (4)TV机顶盒. 2.跨终端的实现方式 (1)响应式 存在 ...