bzoj3295(线段树套平衡树(treap))
来源:互联网 发布:在线ps源码 编辑:程序博客网 时间:2024/06/05 06:44
3295: [Cqoi2011]动态逆序对
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 861 Solved: 287
[Submit][Status]
Description
对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。
Input
输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素。
Output
输出包含m行,依次为删除每个元素之前,逆序对的个数。
Sample Input
5 4
1
5
3
4
2
5
1
4
2
1
5
3
4
2
5
1
4
2
Sample Output
5
2
2
1
样例解释
(1,5,3,4,2)(1,3,4,2)(3,4,2)(3,2)(3)。
2
2
1
样例解释
(1,5,3,4,2)(1,3,4,2)(3,4,2)(3,2)(3)。
HINT
N<=100000 M<=50000
题意:RT
思路:线段树套平衡树碾压~第一次写,居然1Y了,6420MS,不知道是慢还是快
动态的删除元素,这个可以用线段树来完成,线段树里的每个节点维护一棵平衡树,当要删除一个元素时将包含该元素的所有线段树的节点都插入到节点所对应的平衡树
里面,然后预处理出每个元素的前面有多少个元素比它大和后面有多少个元素比它小,每次查询,只需要在包含的线段里查出比现在要删除的元素大的以及小的,这个可
以在各个节点所维护的平衡树里完成,然后细节看代码吧~~
0 0
- bzoj3295(线段树套平衡树(treap))
- 线段树套treap(ZOJ2112)
- BZOJ 3196 二逼平衡树 树套树(线段树套Treap)
- 线段树套Treap
- bzoj3196(线段树套treap)
- [BZOJ3295][Cqoi2011]动态逆序对(树状数组套线段树||cdq分治)
- hdu 5412 CRB and Queries(动态区间第k大值,区间能修改)(整体二分,树状数组套平衡树,线段树套treap)
- 【bzoj3295】【Cqoi2011】【动态逆序对】【树状数组套平衡树】
- BZOJ1901 ZOJ2112 线段树+treap (线段树套线段树)
- BZOJ 3196 Tyvj 1730 二逼平衡树(线段树套treap)
- 【bzoj3196】【坑】Tyvj 1730 二逼平衡树 线段树套Treap/Splay
- BZOJ 3196(Tyvj 1730 二逼平衡树-线段树套Treap)
- bzoj3196 Tyvj 1730 二逼平衡树 线段树套treap
- bzoj3295: [Cqoi2011]动态逆序对 树状数组套线段树
- [BZOJ3196]二逼平衡树(线段树套splay)
- 二逼平衡树(线段树套Splay)
- 线段树套treap+dp(BZOJ1926)
- 线段树套treap三题
- Connection reset by peer
- Java基础类型的包装类传值NullPoint问题
- ios应用在后台运行时间讨论
- 关于.bashrc文件的几点思考
- VS快捷键大全
- bzoj3295(线段树套平衡树(treap))
- PagerTabStrip和PagerTitleStrip
- 最小生成树的邻接矩阵实现
- CentOS赋予一个普通用户root权限
- Yii Framework 开发教程(4) Hangman 猜单词游戏实例
- 详细解析Java中抽象类和接口的区别
- 部署一个已上线的项目报找不到类的错误,修改工程CLASS生成的路径
- ASP.NET(C#)中将TextBox控件的Readonly属性设置为True时后台直接取值取不到的解决方案
- Java Web开发常用Jar包