博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3289: Mato的文件管理
阅读量:4359 次
发布时间:2019-06-07

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

莫队算法+树状数组+离散化。

一定要注意莫队转移时增加或减少的逆序对数,比较容易写挂。

离散化那部分虽然效率很低,但是很好写,正确性也很容易保证,虽然会拖慢程序运行速度,但编码的复杂度却大大降低了。

我觉得是一种不错的选择。//反正是抄的黄学长的。。

#include
#include
#include
#include
using namespace std;const int maxn = 50000 + 10;int pos[maxn],a[maxn],n,m,block,l,r,ans,res[maxn];int disc[maxn];struct data { int l,r,id;}q[maxn];bool cmp(data a,data b) { if(pos[a.l]==pos[b.l]) return a.r
q[i].l) { l--; ans+=bit.query(a[l]); bit.add(a[l],1); } while(r>q[i].r) { bit.add(a[r],-1); ans-=r-l-bit.query(a[r]); r--; } res[q[i].id]=ans; } for(int i=1;i<=m;i++) printf("%d\n",res[i]); return 0;}

转载于:https://www.cnblogs.com/invoid/p/5550853.html

你可能感兴趣的文章
Java反射-方法(Method)
查看>>
移除SharePoint2013里的NoteBook笔记本链接
查看>>
数据集
查看>>
Objective-C内存管理教程和原理剖析(四)
查看>>
RESTClient插件POST方法传递参数
查看>>
新建Oracle数据库
查看>>
动态计算UITableViewCell高度详解 (转)
查看>>
后缀数组详解+模板
查看>>
洛谷P1731 生日蛋糕
查看>>
Redis类型
查看>>
编程之美----求二进制数中1的个数
查看>>
COGS 577 蝗灾
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE ra
查看>>
sql: left join vs. not in
查看>>
Jasper之table报表
查看>>
基于visual Studio2013解决C语言竞赛题之1061最大值和次最大值
查看>>
惊艳!9个不可思议的 HTML5 Canvas 应用试验
查看>>
12款很酷的使用大头照的国外名片设计作品
查看>>
Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十三】
查看>>
数据分析的一些误区
查看>>