题意:

给你n个数,然后给你q个区间,然后问你这n个数有多少个在这个区间上;

思路:

树状数组搞搞,但是注意到数的范围很大,所以先离散化一下。

初始化初始化!!!卧槽,wa的我好郁闷。。。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2e5+10; int arr[N];
int c[N*4];
int n,Q; void add(int i)
{
while(i<=n+2*Q)
{
c[i]+=1;
i+=i&(-i);
}
} int Sum(int i)
{
int ans=0;
while(i>0)
{
ans+=c[i];
i-=i&(-i);
}
return ans;
} vector<int>xs;
int main()
{
int T,cas=1;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&Q);
xs.clear();
for(int i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
xs.push_back(arr[i]);
}
for(int i=1;i<=2*Q;i+=2)
{
scanf("%d%d",&arr[n+i],&arr[n+i+1]);
xs.push_back(arr[n+i]);
xs.push_back(arr[n+i+1]);
} sort(xs.begin(),xs.end()); vector<int>::iterator e=unique(xs.begin(),xs.end());
for(int i=1;i<=n+2*Q;i++)
arr[i]=lower_bound(xs.begin(),e,arr[i])-xs.begin()+1; memset(c,0,sizeof(c));
for(int i=1;i<=n;i++)
add(arr[i]);
printf("Case %d:\n",cas++);
for(int i=1;i<=2*Q;i+=2)
printf("%d\n",Sum(arr[n+i+1])-Sum(arr[n+i]-1));
}
return 0;
}
/* 10
5 3
0 0 0 0 0
1 2
1 3
1 2 */

lightoj 1088【树状数组+离散化】的更多相关文章

  1. LightOJ 1085(树状数组+离散化+DP,线段树)

    All Possible Increasing Subsequences Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format: ...

  2. hdu4605 树状数组+离散化+dfs

    Magic Ball Game Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. BZOJ_5055_膜法师_树状数组+离散化

    BZOJ_5055_膜法师_树状数组+离散化 Description 在经历过1e9次大型战争后的宇宙中现在还剩下n个完美维度, 现在来自多元宇宙的膜法师,想偷取其中的三个维度为伟大的长者续秒, 显然 ...

  4. POJ 2299 【树状数组 离散化】

    题目链接:POJ 2299 Ultra-QuickSort Description In this problem, you have to analyze a particular sorting ...

  5. BZOJ-1227 虔诚的墓主人 树状数组+离散化+组合数学

    1227: [SDOI2009]虔诚的墓主人 Time Limit: 5 Sec Memory Limit: 259 MB Submit: 914 Solved: 431 [Submit][Statu ...

  6. POJ 2299 树状数组+离散化求逆序对

    给出一个序列 相邻的两个数可以进行交换 问最少交换多少次可以让他变成递增序列 每个数都是独一无二的 其实就是问冒泡往后 最多多少次 但是按普通冒泡记录次数一定会超时 冒泡记录次数的本质是每个数的逆序数 ...

  7. [HDOJ4325]Flowers(树状数组 离散化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4325 关于离散化的简介:http://blog.csdn.net/gokou_ruri/article ...

  8. Bzoj 1901: Zju2112 Dynamic Rankings 主席树,可持久,树状数组,离散化

    1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6321  Solved: 2628[Su ...

  9. CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序

    http://codeforces.com/problemset/problem/61/E 题意是求 i<j<k && a[i]>a[j]>a[k] 的对数 会 ...

随机推荐

  1. 高性能MySQL(三)

    服务器性能剖析 性能优化概述 性能优化是降低CPU使用率?错误,资源就是用来消耗的,新版本MySQL的InnoDB引擎对资源的利用率还增高了,所以这不是一个好的衡量标准. 提升每秒查询量?其实就是吞吐 ...

  2. pyquery模块

    pyquery 这个模块基本是仿JQuery的形式,也支持CSS选择器语法,因此对于爬虫来说,避免了正则表达式的滥用. 创建对象 from pyquery import PyQuery as pq d ...

  3. 第 1 章 第 2 题 空间敏感排序问题 位向量实现( bitset位向量 )

    问题分析 在上篇文章中,给出了使用C语言中经典位运算符来实现位向量的方法.而本文,将介绍使用C++中的bitset容器来实现位向量的方法. 实现 // 请包含bitset头文件 #include &l ...

  4. 九度OJ 1111:单词替换 (查找)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4473 解决:1268 题目描述: 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔 ...

  5. 修改JDK环境变量,不生效的问题

    一般是在/etc/profile下面配置JDK的环境变量 JAVA_HOME=/data/jdk1.7.0_72 JRE_HOME=/data/jdk1.7.0_72/jre PATH=$PATH:$ ...

  6. 云计算系列——HIVE1.2.1 环境搭建

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...

  7. Automating hybrid apps

    Automating hybrid apps One of the core principles of Appium is that you shouldn’t have to change you ...

  8. hadoop集群异常问题总结

    1. Could not find or load main class java.library.path=.opt.hadoop.lib 我的环境上是 hadoopopts变量的配置问题,至于为啥 ...

  9. the art of seo(chapter one)

    preface:Andy Johns (@ibringtraffic):growth strategist@Wealthfront ***1.Search Reflecting Consciousne ...

  10. Gradle build-info.xml not found for module app.Please make sure that you are using gradle plugin '2.0.0-alpha4' or higher.

    解决方法:去掉“Enable Instant run to host swap code/resource changes on deploy(default enabled)”的勾选项 Settin ...