您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x ...
分类:
其他好文 时间:
2018-03-22 12:38:06
阅读次数:
211
treap 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入x数,删除x数(若有多个相同的数,因只删除一个),查询x数的排名(排名定义为比当前数小的数的个数+1。若有多个相同的数,因输出最小的排名),查询排名为x的数,求x的前驱(前驱定义为小于x,且最大的数),求x的 ...
分类:
其他好文 时间:
2018-03-22 10:51:41
阅读次数:
142
4337: BJOI2015 树的同构 Description 树是一种很常见的数据结构。 我们把N个点,N-1条边的连通无向图称为树。 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树。 对于两个树T1和T2,如果能够把树T1的所有点重新标号,使得树T1和树T2完全相 同 ...
分类:
其他好文 时间:
2018-03-18 23:19:57
阅读次数:
249
题目传送门 平衡树的题。 因为题目给出条件(其实自己也知道):同一时间呆在收养所中的,要么全是宠物,要么全是领养者,这些宠物和领养者的个数不会超过10000个。 所以只要维护一颗平衡树,它的里面要不全是人,要不全是宠物。 找到人的前驱后继比较。 code: ...
分类:
其他好文 时间:
2018-03-17 21:41:08
阅读次数:
220
图描述的是一些个体之间的关系。与线性表之间和二叉树之间不同的是,这些个体之间即不是前驱后继的顺序关系,也不是祖先后代的层次关系,而是错综复杂的网状关系。在图中一个比较重要的算法就是,小编接下来将要介绍的DFS算法。下面通过一个具体的例子来介绍DFS算法——用DFS算法求联通块。问题描述如下:油田(OilDepositsUVa572)输入一个m行n列的字符矩阵,统计字符的“@”组成多少个八联块。如果
分类:
其他好文 时间:
2018-03-17 20:09:45
阅读次数:
178
一、线性表 线性表的定义: 线性表是具有相同数据类型的有限数据的序列。 线性表的特点: 出了第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外有且只有一个后继。 线性表是一种逻辑结构,表示元素之间的一一的相邻关系,顺序表和链表是指存储结构,两者属于不同的概念。 线性表的顺序表示: 线性表的 ...
分类:
其他好文 时间:
2018-03-15 17:51:04
阅读次数:
168
队列: 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表(排队问题) 队列ADT: 数据:同线性表,元素具有相同的类型,相邻元素具有前驱和后继关系 操作: InitQueue(*Q): 初始化操作,建立一个空队列Q DestroyQueue(*Q): 若队列Q存在,则销毁它。 Clea ...
分类:
其他好文 时间:
2018-03-15 16:30:28
阅读次数:
131
写出dp方程,可以发现转移要满足一个三维偏序,那么可以处理三维偏序的方法优化。 CDQ分治: cdq分治和树状数组是好伙伴~ 注意分治的顺序,要保证先求解出所有前驱状态。 树套树: ...
分类:
其他好文 时间:
2018-03-12 01:04:29
阅读次数:
194
双数组Trie树,其实就是用两个一维数组来表示Trie树这种数据结构。 一个数组称为BASE,另一个数组为CHECK。转移条件如下: 对于状态s,接收字符c,转移到状态t BASE[s]+c=t CHECK[t]=BASE[s] 1. BASE数组保存结点的基地址 2. CHECK数组标识结点的前驱 ...
分类:
编程语言 时间:
2018-03-11 20:59:30
阅读次数:
167
Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x ...
分类:
其他好文 时间:
2018-03-08 20:18:04
阅读次数:
163