博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3289 Mato的文件管理 莫队+树状数组
阅读量:5941 次
发布时间:2019-06-19

本文共 853 字,大约阅读时间需要 2 分钟。

求逆序对个数,莫队套树状数组

#include
#include
#include
#include
#include
#define N 50005using namespace std;int n,m,nn,a[N],c[5000005],be[N],maxn;struct Query{ int l,r,id,ans;}qr[N];bool cmp1(Query a,Query b){ if(be[a.l]==be[b.l]) return a.r
qr[i].l){ add(a[--l],1); tot+=query(a[l]-1); } while(r
qr[i].r){ tot-=r-l+1-query(a[r]); add(a[r--],-1); } qr[i].ans=tot; }}int main(){ scanf("%d",&n); nn=sqrt(n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); maxn=max(maxn,a[i]); be[i]=(i-1)/nn+1; } scanf("%d",&m); int l,r; for(int i=1;i<=m;i++) { scanf("%d%d",&l,&r); qr[i].l=l; qr[i].r=r; qr[i].id=i; } sort(qr+1,qr+m+1,cmp1); work(); sort(qr+1,qr+m+1,cmp2); for(int i=1;i<=m;i++) printf("%d\n",qr[i].ans); return 0;}

转载于:https://www.cnblogs.com/Ren-Ivan/p/7746739.html

你可能感兴趣的文章
33 个 JavaScript 核心概念系列(三): 显式 (名义) 与 隐式 (鸭子)类型转换
查看>>
RocketMQ(六):namesrv再探
查看>>
入门Python神经机器翻译,这是一篇非常精简的实战指南
查看>>
Android LayoutInflater 源码解析
查看>>
如何给localStorage设置一个过期时间?
查看>>
java8-06-自定义Collector-JoinCollector
查看>>
把现有的typesctipt+react项目接入到electron
查看>>
【Docker实战之入门】Dockerfile详细分析:构建docker镜像(4)构建动态网站WordPress...
查看>>
小程序二次贝塞尔曲线,购物车商品曲线飞入效果
查看>>
微信小程序
查看>>
常用的正则表达式分享
查看>>
Spring、Spring Boot和TestNG测试指南 - 测试关系型数据库
查看>>
2017-07-19 前端日报
查看>>
GraphQL 进阶: 基于Websocket的实时Web应用开发
查看>>
直播卡顿原因详解及优化
查看>>
Audio: 如果你愿意一层一层剥开我的心
查看>>
SSE eventSource简介
查看>>
教你写一个可以找到.m文件所有接口名的命令行工具
查看>>
css3效果: animate实现点点点loading动画效果(一)
查看>>
我的世界:一个村落(其一)
查看>>