1. /*
  2. 给定一个数组,要求和小于t的段落总数
  3. 求前缀和
  4. dp[i]表示以第i个数为结尾的小于t的段落总数,sum[i]-sum[l]<t;
  5. sum[i]-t<sum[l],所以只要找到满足条件的sum[l]数量即可
  6. 将sum排序,每次找到sum[i]-t的排名,大于它的就是l的数量
  7. */
  8. #include<bits/stdc++.h>
  9.  
  10. using namespace std;
  11. #define ll long long
  12. #define maxn 200005
  13. ll tmp[maxn],n,a[maxn],t,sum[maxn],ans;
  14. ll bits[maxn];
  15. void add(int x,int val){
  16. for(int i=x;i<=n+;i+=i&-i)
  17. bits[i]++;
  18. }
  19.  
  20. ll query(int x){
  21. ll ans = ;
  22. for(int i=x;i>;i-=i&-i)
  23. ans += bits[i];
  24. return ans;
  25. }
  26.  
  27. int main(){
  28. cin>>n>>t;
  29. memset(bits,,sizeof bits);
  30. for(int i=;i<=n;i++)cin>>a[i];
  31. for(int i=;i<=n;i++)sum[i]=sum[i-]+a[i];
  32. for(int i=;i<=n;i++)tmp[i]=sum[i];
  33.  
  34. sort(tmp,tmp++n);//带着0排序
  35. //add(0,1);
  36.  
  37. for(int i=;i<=n;i++){
  38. int pos=lower_bound(tmp,tmp+n+,sum[i-])-tmp+;
  39. add(pos,);
  40. pos=upper_bound(tmp,tmp+n+,sum[i]-t)-tmp;
  41. ans+=i-query(pos);
  42. }
  43. printf("%lld\n",ans);
  44. }

cf1042d 树状数组逆序对+离散化的更多相关文章

  1. Bzoj 3289: Mato的文件管理 莫队,树状数组,逆序对,离散化,分块

    3289: Mato的文件管理 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 1539  Solved: 665[Submit][Status][Di ...

  2. P1774 最接近神的人_NOI导刊2010[树状数组 逆序对 离散化]

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着“神的殿堂”.小FF猜想里面应该就有王室的 ...

  3. [树状数组+逆序对][NOIP2013]火柴排队

    火柴排队 题目描述 涵涵有两盒火柴,每盒装有n根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:∑ (ai-bi)2,i=1,2,3,. ...

  4. Poj 2299 - Ultra-QuickSort 离散化,树状数组,逆序对

    Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 52306   Accepted: 19194 ...

  5. hdu 5497 Inversion 树状数组 逆序对,单点修改

    Inversion Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5497 ...

  6. Codevs 3286 火柴排队 2013年NOIP全国联赛提高组 树状数组,逆序对

    题目:http://codevs.cn/problem/3286/ 3286 火柴排队  2013年NOIP全国联赛提高组  时间限制: 1 s   空间限制: 128000 KB   题目等级 : ...

  7. Bzoj 2789: [Poi2012]Letters 树状数组,逆序对

    2789: [Poi2012]Letters Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 278  Solved: 185[Submit][Stat ...

  8. Bzoj 3295: [Cqoi2011]动态逆序对 分块,树状数组,逆序对

    3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2886  Solved: 924[Submit][Stat ...

  9. hdu 2838 Cow Sorting (树状数组+逆序对)

    题目 题意:给你N个排列不规则的数,任务是把它从小到大排好,每次只能交换相邻两个数,交换一次的代价为两数之和,求最小代价 拿到这道题,我根本看不出这道题和树状数组有半毛钱关系,博客之,全说用树状数组做 ...

随机推荐

  1. struts基础3-把数据写入页面

    一.OGNL(Object-Groph Navigation Language) 是一种强大的表达式语言,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. 1)与 ...

  2. Spring所有子项目

    官网地址 https://spring.io/projects 包含子项目 Spring IO Platform Spring Boot Spring Framework Spring Cloud D ...

  3. mysql案例~非常规操作汇总

    一 简介:此文汇总mysql不常见的数据库的操作二 mysql表修改最大自增ID 目的: 修复canal相关问题 语法: alter table a AUTO_INCREMENT=num; 执行速度: ...

  4. SQL SERVER 2008 R2安装的时候提示“该实例名称MSSQLSERVER已在使用

    SQL SERVER 2008安装的时候提示“该实例名称已在使用”解决办法._冷雨玫瑰_新浪博客---和这文章描述差不多http://blog.sina.com.cn/s/blog_672b419f0 ...

  5. java 八种基本数据类型

  6. Spotlight LGWR1 一直告警

    http://www.itpub.net/thread-1181372-1-1.html

  7. h5中placeholder样式

    <!DOCTYPE html> <html> <head> <title>placeholder样式demo</title> <sty ...

  8. 【转】HTML

    [转]HTML 一.html简介 1. 什么是 HTML? HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不 ...

  9. Django-路由层

    URL配置(URLconf)就像Django所支撑网站的记录.它的本质是URL要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应 ...

  10. LwIP Application Developers Manual10---LwIP IPv4/IPv6 stacks

    1.前言 lwIP正在加入IPv6,一个实验性的版本可以通过git下载,该版本实现了一个IPv4/IPv6的双协议栈.通过在lwipopts.h定义LWIP_IPV6可以使能IPv6 2.已实现的IP ...