上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 132 下一页
摘要: 树套树就是外层的树的每个节点都是一个树。一般来说外层的树为线段树/树状数组,内层的数为平衡树/线段树 这一道题,如果没有区间的话,不难知道就是一个set;现在有了区间,外面就套一个线段树,线段树的每个节点维护一个set,将询问区间划分成\(O(\log n)\)个子区间,每个子区间都查询\(x\)的 阅读全文
posted @ 2024-08-31 08:28 最爱丁珰 阅读(30) 评论(0) 推荐(0)
摘要: 都是Splay比较常见的操作,平衡树节点维护是一个量:左右儿子,子树大小,节点代表的值(对于非哨兵来说,值等于输入的\(c\);对于哨兵来说,值等于\(0\)),节点代表的副本值(对于非哨兵来说,副本值等于值;对于哨兵来说,副本值等于\(-1001\)),子树代表的区间从左/右开始的最大和,子树代表 阅读全文
posted @ 2024-08-30 21:28 最爱丁珰 阅读(20) 评论(0) 推荐(0)
摘要: 考虑在线维护,显然用并查集。对每一个集合都维护一个Splay(或其他平衡树),然后直接查询就好了;所以现在的任务就是合并两个Splay。如果满足一个Splay的最大值小于另一个Splay的最小值,那么是可以快速合并的;但是这里显然不满足,所以只能用启发式合并,对于较小的Splay,遍历其每个节点,然 阅读全文
posted @ 2024-08-30 10:25 最爱丁珰 阅读(21) 评论(0) 推荐(0)
摘要: 比较显然的一个trick就是像“蚯蚓”这道题目一样,用一个变量\(\text{delta}\)记录整体工资的移动,设平衡树记录的工资为\(x\),则\(x+\text{delta}\)为真实工资(当然Splay也支持区间修改,但是没必要,这里肯定用这个trick) 于是现在只需要解决问题F。即\(x 阅读全文
posted @ 2024-08-30 08:18 最爱丁珰 阅读(20) 评论(0) 推荐(0)
摘要: 涉及了区间翻转操作,Splay不再是BST;Splay只能保证其中序遍历为当前序列;用lazy标记做,具体见OI-wiki,代码见下 #include<bits/stdc++.h> #define ll long long using namespace std; const int N=10001 阅读全文
posted @ 2024-08-29 14:29 最爱丁珰 阅读(38) 评论(0) 推荐(0)
摘要: 具体讲解见OI-wiki(他的左旋右旋跟蓝书的有点不一样,按照蓝书的理解,代码见下),下面是一些补充 拓展: 1.将一个序列插入到\(x\)的后面:找到\(x\)的后继\(y\),先将\(x\)伸展到根,再将\(y\)伸展到\(x\)的右子树,此时由于\(y\)是\(x\)的后继所以\(y\)的左儿 阅读全文
posted @ 2024-08-29 11:12 最爱丁珰 阅读(22) 评论(0) 推荐(0)
摘要: 题目求的就是点仙人掌的数量;点仙人掌的所有环缩点之后就变成了一棵树,于是考虑无根树的数量怎么求,很显然利用Prufer序列就好了;然后考虑怎么将Prufer序列移植到点仙人掌上面,此时就要利用扩展Prufer序列 扩展Prufer序列:对于一个点仙人掌来说,先将所有环缩点变成一棵树,然后将所有缩点离 阅读全文
posted @ 2024-08-28 18:45 最爱丁珰 阅读(44) 评论(0) 推荐(0)
摘要: Prufer序列的转化方法见这篇博客(这篇文章里这道模板题的高精处理方法也看看,注意特判条件,想想为啥充要) 最后剩两个点的原因就是因为Prufer编码的最后一位是唯一确定的,一定是\(n\) 这里主要是对这篇博客的一些说明。 首先:为什么Prufer序列与无根树一一对应? 我们要先知道两个引理:出 阅读全文
posted @ 2024-08-28 10:21 最爱丁珰 阅读(44) 评论(0) 推荐(0)
摘要: 树形图的定义:没有环,每个点(除了根节点)的入度都是\(1\),根节点的入度为\(0\) 朱刘算法的过程见OI-wiki;当没有环的时候,就满足了树形图的定义,于是可以结束;否则的话就将所有环缩点(注意此时由于每个点的入度都是\(1\),所以不可能存在两个环有公共点和公共边)得到新图\(G_1\), 阅读全文
posted @ 2024-08-26 15:20 最爱丁珰 阅读(28) 评论(0) 推荐(0)
摘要: 这道题目是二分图博弈的板子 介绍一下二分图博弈: 设两部的节点分别为\(x_1,x_2,...,x_n\)和\(y_1,y_2,...,y_m\),先手选择了\(x_i\)这个节点,则先手必胜当且仅当\(x_i\)是最大匹配的必须点(也就是说少了\(x_i\)的话最大匹配数会减少) 证明: 任选一个 阅读全文
posted @ 2024-08-25 14:19 最爱丁珰 阅读(21) 评论(0) 推荐(0)
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 132 下一页