随笔分类 -  伸展树

摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3196 [算法] 树套树即可 笔者的这份代码使用的是线段树套伸展树 时间复杂度 : O(NlogN ^ 3) [代码] 阅读全文
posted @ 2018-12-27 21:56 evenbao 阅读(223) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2049 [算法] LCT动态维护森林连通性 时间复杂度 : O(NlogN ^ 2) [代码] 阅读全文
posted @ 2018-12-08 20:22 evenbao 阅读(174) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3282 [算法] LCT模板题 时间复杂度 : O(NlogN ^ 2) [代码] 阅读全文
posted @ 2018-12-08 20:20 evenbao 阅读(152) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1251 [算法] 伸展树 时间复杂度 : O(MlogN) [代码] 阅读全文
posted @ 2018-09-26 20:33 evenbao 阅读(148) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1861 [算法] 平衡树 时间复杂度 : O(M log N) [代码] 阅读全文
posted @ 2018-09-22 11:15 evenbao 阅读(158) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1503 [算法] 平衡树 时间复杂度 : O(NlogN) [代码] 笔者的平衡树选用的是SPLAY伸展树 阅读全文
posted @ 2018-09-09 21:22 evenbao 阅读(185) 评论(0) 推荐(0)
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1691 [算法] 不难想到如下算法 : 将所有牛和牧草按鲜嫩程度降序排序,按顺序扫描,如果扫描到的是牧草,则将牧草的美味程度加入一个集合,否则,将答案加上比这头牛的期望价格大的牧草中价格 阅读全文
posted @ 2018-08-16 22:41 evenbao 阅读(228) 评论(0) 推荐(0)
摘要:[题目链接] http://uoj.ac/problem/334 [算法] 仔细观察依次下达的两条指令,我们发现,其实需要做的就是 : 1. 将最后一列的第x个数弹出,插入到第x行的末尾 2. 将第x行的第y个数弹出,插入到最后一行最后一列 不妨建(n + 1)棵平衡树,维护n行和最后一列,但是这样 阅读全文
posted @ 2018-07-25 11:43 evenbao 阅读(180) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 本题所运用的也是Splay的区间操作,但是实现较为困难 INSERT操作 将pos splay至根节点,pos+1 splay至根节点的右节点,然后对根节点的右节点的左节点建树即可 DELETE操作 将l-1 splay至根节点, r+1 splay至根节点的右 阅读全文
posted @ 2018-03-09 22:14 evenbao 阅读(156) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 本题也是Splay区间操作的模板题,不过要比BZOJ 3223要稍微复杂一些,做完此题后,我终于对Splay有了更深入的理解,有“拨开云雾见青天”的感觉 本题还是有许多细节的,笔者花了5h才通过了此题 【代码】 阅读全文
posted @ 2018-03-04 20:36 evenbao 阅读(211) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 本题是splay区间操作的模板题 我们每个点的权值设为”当前在序列中的排名“,根据二叉排序树的性质,这棵树的中序遍历就是当前序列 如果我们要获得一段区间[l,r],那么我们将l-1splay到根节点,将r+1splay到根节点的右子树的根,我们发现,根节点 的右 阅读全文
posted @ 2018-03-03 10:50 evenbao 阅读(153) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 观察式子 : 最小波动值 = min{|该天营业额 - 之前某天的营业额|} = min{该天营业额 - 该天营业额的前驱,该天营业额的后继 - 该天营业额} 用Splay维护前驱和后继即可 【代码】 阅读全文
posted @ 2018-02-28 22:33 evenbao 阅读(157) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 本题是Splay模板题,值得一做! 【代码】 阅读全文
posted @ 2018-02-27 20:52 evenbao 阅读(211) 评论(0) 推荐(0)