Treap
文章平均质量分 78
x_1023
这个作者很懒,什么都没留下…
展开
-
BZOJ 3295 [Cqoi2011]动态逆序对 - 树状数组套主席树/树状数组套treap
首先预处理,对于一个输入的数列求逆序对个数利用树状数组nlogn即可解决。 然后考虑删点的问题。每次删点需要在总ans中删去此节点前比此数大的数的个数和之后此数小的个数。 对于当前的节点,如果需要定点查询一段区间中比一定值c大或小的点的个数,只需要在线段树(或平衡树)上操作即可。而对于这道题,需要讨论每个点,即每个点均需建立一棵线段树。每次查询之后需要在每棵线段树上进行修改操作,单次复杂度lo原创 2017-09-03 20:23:53 · 223 阅读 · 0 评论 -
BZOJ 3224 普通二叉树 - 平衡树
大概是平衡树的木板了,一直是按大蓝皮书写的模板,然后膜别人博客的时候发现可以把相同的数合并在一个节点记录一下个数,就不用建一大堆节点了,觉得非常妙。如果不合并的话还得记录一下max和min值判断子树中还有没有重复的当前的数(其实不用?好像直接返回极值就可以了)。#include<iostream> #include<cstdlib> #include<cstdio> #include<cstring原创 2017-10-06 23:01:57 · 193 阅读 · 0 评论