splay
文章平均质量分 58
disPlayLzy_
梦在前方,路在脚下
展开
-
Luogu P4309 [TJOI2013]最长上升子序列___splay
题目大意:初始给出一个空序列。依次将111到NNN的数字插入到序列,第iii次将数字iii插入到一个特定的位置,每次插入完回答序列的最长上升子序列长度。N<=1e5N<=1e5N<=1e5分析:设fif_ifi表示 以位置iii结尾的最大子序列每次加入的数都是当前最大的数,只需要考虑求当前位置以前最大的fff即可因为有插入操作,所以可以考虑用splaysplaysplay动态维护修改位置前的fmf_mfm,若插入位置xxx,则最后数iii会到x+1x+1x+1的位原创 2021-08-19 20:22:35 · 83 阅读 · 0 评论 -
Luogu P2042 [NOI2005]维护数列___splay
题目大意:分析:对于操作①①①,将新加入所有数建成一个新树,然后将原树通过splaysplaysplay使得pospospos位置为根节点,pos+1pos+1pos+1为根节点右儿子,则令根节点右儿子的左儿子为新树的根即实现合并对于操作②②②,将pos−1pos-1pos−1作为根节点,pos+totpos+totpos+tot作为根节点右儿子,删根节点右儿子的左子树即可对于操作③,④③,④③,④,同理将区间提取出来,分别打上标记即可对于操作⑤⑤⑤,一样弄到根节点的右儿子的左子树上,求子树原创 2021-08-19 19:38:09 · 92 阅读 · 0 评论 -
Bzoj P3223 [Tyvj1729]文艺平衡树___splay
题目大意:维护一个长度为nnn的有序数列,其中需要提供以下操作:翻转一个区间。初始时这个序列依次是(1,2……n−1,n)(1,2……n-1,n)(1,2……n−1,n) ,操作数有mmm个。n,m<=100000n,m<=100000n,m<=100000分析:splay的一个基本操作就是区间反转,首先将[1,n][1,n][1,n]类似线段树一样建...原创 2019-06-12 19:46:42 · 213 阅读 · 0 评论 -
Bzoj P2733 [HNOI2012]永无乡___splay合并+并查集
题目大意:n 座岛,从1到n编号,每座岛都有自己的独一无二的重要度。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛a出发经过若干座(含 0 座)桥可以到达岛b,则称岛a和岛b是连通的。有mmm个本来就存在的桥,有qqq个将要执行的操作,每个操作可以再新修一座桥或者查询一个岛屿所连通的所有岛重要度第kkk大的岛的编号。n≤100000,m≤n,q≤300000n≤10...原创 2019-06-13 20:42:54 · 136 阅读 · 0 评论 -
Luogu P3165 [CQOI2014]排序机械臂___splay
题目大意:nnn个物品,依次排列,每个物品都有一个高度hih_ihi,nnn次操作,第iii次操作将区间[位置iii,第iii低的物品(多个时取靠左的优先)的位置]翻转回答一个序列,第iii个数表示每次操作前第iii低的物品所在位置N<=100000N<=100000N<=100000hi<=107h_i<=10^7hi&...原创 2019-06-14 19:07:27 · 133 阅读 · 0 评论 -
Bzoj P3224 [Tyvj1728]普通平衡树___splay
题目大意:您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入x数删除x数(若有多个相同的数,因只删除一个)查询x数的排名(若有多个相同的数,因输出最小的排名)查询排名为x的数求x的前驱(前驱定义为小于x,且最大的数)求x的后继(后继定义为大于x,且最小的数).n<=100000n<=100000n<=100000...原创 2019-06-11 20:34:16 · 144 阅读 · 0 评论