题意:

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

思路:

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

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

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4. const int N=2e5+10;
  5.  
  6. int arr[N];
  7. int c[N*4];
  8. int n,Q;
  9.  
  10. void add(int i)
  11. {
  12. while(i<=n+2*Q)
  13. {
  14. c[i]+=1;
  15. i+=i&(-i);
  16. }
  17. }
  18.  
  19. int Sum(int i)
  20. {
  21. int ans=0;
  22. while(i>0)
  23. {
  24. ans+=c[i];
  25. i-=i&(-i);
  26. }
  27. return ans;
  28. }
  29.  
  30. vector<int>xs;
  31. int main()
  32. {
  33. int T,cas=1;
  34. scanf("%d",&T);
  35. while(T--)
  36. {
  37. scanf("%d%d",&n,&Q);
  38. xs.clear();
  39. for(int i=1;i<=n;i++)
  40. {
  41. scanf("%d",&arr[i]);
  42. xs.push_back(arr[i]);
  43. }
  44. for(int i=1;i<=2*Q;i+=2)
  45. {
  46. scanf("%d%d",&arr[n+i],&arr[n+i+1]);
  47. xs.push_back(arr[n+i]);
  48. xs.push_back(arr[n+i+1]);
  49. }
  50.  
  51. sort(xs.begin(),xs.end());
  52.  
  53. vector<int>::iterator e=unique(xs.begin(),xs.end());
  54. for(int i=1;i<=n+2*Q;i++)
  55. arr[i]=lower_bound(xs.begin(),e,arr[i])-xs.begin()+1;
  56.  
  57. memset(c,0,sizeof(c));
  58. for(int i=1;i<=n;i++)
  59. add(arr[i]);
  60. printf("Case %d:\n",cas++);
  61. for(int i=1;i<=2*Q;i+=2)
  62. printf("%d\n",Sum(arr[n+i+1])-Sum(arr[n+i]-1));
  63. }
  64. return 0;
  65. }
  66. /*
  67.  
  68. 10
  69. 5 3
  70. 0 0 0 0 0
  71. 1 2
  72. 1 3
  73. 1 2
  74.  
  75. */

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. xpath 轴,节点之间的关系

    http://www.w3school.com.cn/xpath/xpath_axes.asp http://www.freeformatter.com/xpath-tester.html 测试 轴可 ...

  2. LeetCode(83)题解: Remove Duplicates from Sorted List

    https://leetcode.com/problems/remove-duplicates-from-sorted-list/ 题目: Given a sorted linked list, de ...

  3. javascript 中 "undefined" 与 "is not defined" 分析

      var var1; console.log( typeof var0);//print "undefined",主要看下面对var0单独的输出 console.log( typ ...

  4. Hibernate表关系映射之一对一映射

    一.数据表的映射关系 在数据库领域中,数据表和数据表之间关系一般可以分为如下几种: 一对一:比如公民和身份证的关系,一个人只有一张身份证,同时每张身份证也仅仅对应一个人! 一对多:比如客户和订单之间的 ...

  5. react面试宝典

    调用 setState 之后发生了什么? 在代码中调用setState函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation).经过调和过程 ...

  6. mongodb学习之:GridFS

    GridFS是一种在Mongodb中存储大二进制文件的机制.GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). 使用GridFS有如下几个原因: 1 利用 ...

  7. 03-树1 树的同构(25 point(s)) 【Tree】

    03-树1 树的同构(25 point(s)) 给定两棵树T1和T2.如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是"同构"的.例如图1给出的两棵树就是同构的,因为 ...

  8. 使用eclipse的SVN连接码云

    码云配置: 码云的项目上,启用SVN访问 eclipse的配置,不配置这个会报错

  9. LoadRunner监控Linux与Windows方法

    1.首先保证被监视的windows系统开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service: 2.被监视的WINDOWS机器:右击我的 ...

  10. hdu 2671 shǎ崽 OrOrOrOrz(排序)

    题意:排序后按题目要求输出 思路:排序 #include<iostream> #include<stdio.h> #include<algorithm> using ...