题目大意:给你一个长度为n的数组,问[L,R]之间<=val的个数

思路:就像标题说的那样就行了。树状数组不一定是离散化以后的区间,而可以是id

//看看会不会爆int!数组会不会少了一维!
//取物问题一定要小心先手胜利的条件
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define ALL(a) a.begin(), a.end()
#define pb push_back
#define mk make_pair
#define fi first
#define se second
const int maxn = 1e5 + ;
int tree[maxn], ans[maxn];
int n, m;
pair<int, int> a[maxn];///val pos
pair<pair<int, int>, pair<int, int> > b[maxn];///val pos [l,r]
int lowbit(int x){return x & -x;} void update(int x){
for (int i = x; i <= n; i += lowbit(i))
tree[i] += ;
} int sum(int x){
int ans = ;
for (int i = x; i > ; i -= lowbit(i)){
ans += tree[i];
}
return ans;
} int main(){
int kase = ;
int t; cin >> t;
while (t--){
scanf("%d%d", &n, &m);
for (int i = ; i <= n; i++){
scanf("%d", &a[i].first);
a[i].second = i;
}
sort(a + , a + + n);
for (int i = ; i <= m; i++){
int l, r, val;
scanf("%d%d%d", &l, &r, &val);
l++, r++;
b[i] = mk(mk(val, i), mk(l, r));
}
sort(b + , b + + m);
memset(tree, , sizeof(tree));
printf("Case %d:\n", ++kase);
int j = ;
for (int i = ; i <= n && j <= m; ){
while (i <= n && b[j].first.first >= a[i].first){
update(a[i].second);
i++;
}
while (j <= m && b[j].first.first < a[i].first){
ans[b[j].first.second] = sum(b[j].second.second) - sum(b[j].second.first - );
j++;
}
}
while (j <= m){
ans[b[j].first.second] = sum(b[j].second.second) - sum(b[j].second.first - );
j++;
}
for (int i = ; i <= m; i++) {
printf("%d\n", ans[i]);
}
}
return ;
}

利用id来进行树状数组,而不是离散化以后的val HDU 4417 离线+树状数组的更多相关文章

  1. HDU 4417 离线+树状数组

    Super Mario Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. 区间的关系的计数 HDU 4638 离线+树状数组

    题目大意:给你n个人,每个人都有一个id,有m个询问,每次询问一个区间[l,r],问该区间内部有多少的id是连续的(单独的也算是一个) 思路:做了那么多离线+树状数组的题目,感觉这种东西就是一个模板了 ...

  3. HDU - 4777 离线树状数组

    离线树状数组搞一搞. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #de ...

  4. 区间gcd问题 HDU 5869 离线+树状数组

    题目大意:长度n的序列, m个询问区间[L, R], 问区间内的所有子段的不同GCD值有多少种. 子段就是表示是要连续的a[] 思路:固定右端点,预处理出所有的gcd,每次都和i-1的gcd比较,然后 ...

  5. HDU 5249 离线树状数组求第k大+离散化

    KPI Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. HDU 5869 (离线+树状数组)

    Problem Different GCD Subarray Query 题目大意 给定n个数的序列,有q个询问,每次询问一个区间中所有子区间所形成不同的gcd的数量. 解题分析 由于固定一个数为右端 ...

  7. CodeForces - 220B Little Elephant and Array (莫队+离散化 / 离线树状数组)

    题意:N个数,M个查询,求[Li,Ri]区间内出现次数等于其数值大小的数的个数. 分析:用莫队处理离线问题是一种解决方案.但ai的范围可达到1e9,所以需要离散化预处理.每次区间向外扩的更新的过程中, ...

  8. Codeforces Round #365 (Div. 2) D - Mishka and Interesting sum(离线树状数组)

    http://codeforces.com/contest/703/problem/D 题意: 给出一行数,有m次查询,每次查询输出区间内出现次数为偶数次的数字的异或和. 思路: 这儿利用一下异或和的 ...

  9. SPOJ 3267 D-query(离散化+在线主席树 | 离线树状数组)

    DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...

随机推荐

  1. sqlserver 按日、周、月统计方法

    摘自于网络网络:http://blog.csdn.net/wanmdb/article/details/8080636 create table T(日期时间 datetime, 数量 int) in ...

  2. vs2010环境下将Win32控制台应用程序,改为Win32项目

    进入工程属性后,一次进入下面选项做相应修改 连接器 ---> 系统 --->子系统: 控制台 (/SUBSYSTEM:CONSOLE)改为:窗口 (/SUBSYSTEM:WINDOWS)

  3. python&MongoDB

    1 #!/usr/bin/python 2 #-*- coding:utf-8 3 import pymongo 4 connection=pymongo.MongoClient() 5 tdb=co ...

  4. 项目管理实践【四】Bug跟踪管理【Bug Trace and Management】

    首先,向大家说一声抱歉,这篇文章耽误了这么久才和大家见面.至于Bug的跟踪和管理的必要性和好处,我就不在这里说了,下面介绍几款Bug跟踪和管理的软件. 一.BugNET BugNET是一个非常优秀的开 ...

  5. 第三十六节,os系统级别操作模块

    在使用os模块时需要先 import os 引入模块 os.getcwd()模块函数 功能:获取当前工作目录,即当前python脚本工作的目录路径[无参] 使用方法:os.getcwd() 格式如:a ...

  6. mysql 数据表

    CREATE DATABASE IF NOT EXISTS  `shop`;USE `shop`; drop table if exists lidepeng; create table lidepe ...

  7. html标签全称和功能介绍

    html标签全称和功能介绍,里面有些大家不常用的,主要是方便大家查找检索   按字母顺序排列 DTD:指示在哪种 XHTML 1.0 DTD 中允许该标签.S=Strict, T=Transition ...

  8. Java1.5泛型指南中文版(Java1.5 Generic Tutorial)

    Java1.5泛型指南中文版(Java1.5 Generic Tutorial) 英文版pdf下载链接:http://java.sun.com/j2se/1.5/pdf/generics-tutori ...

  9. hdu 1166 敌兵布阵(线段树详解)

    Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任 ...

  10. htaccess 实现网址缩短

    访问 :app.xxx.com/a 解析到:app.xxx.com/index.php/app/a <IfModule mod_rewrite.c> RewriteEngine on Re ...