正解:线段树分治+线性基

解题报告:

传送门$QwQ$

考虑如果只有操作3,就这题嘛$QwQ$

欧克然后现在考虑加上了操作一操作二

于是就线段树分治鸭

首先线段树叶子节点是询问嘛这个不用说$QwQ$.然后把每条边放到所有它存在的区间上.

然后处理询问的话就$dfs$遍历线段树,删边操作就可以直接按栈序撤销了

最后梳理下这题的大致思路趴$QwQ$.首先以询问为节点建一棵线段树,并把每条边放到所有它会出现的节点处,然后$dfs$整棵线段树计算答案.

具体说下$dfs$的过程趴$QwQ$.

首先显然是要维护一个连通性和两点之间的路径异或值.

考虑现在加入点$(x,y,z)$,表示一条连接$xy$边权为$z$的边

然后如果$xy$在一个并查集内,就多了一个长度为$dis(x,y)\ xor\ y$的环,就给加入线性基中.

否则就把两个并查集合成一个,同时给其中一个并查集中的$dis$全部$xor$上一个值就成

(我好像又没讲清楚,,,就我同时还对每个点维护了它到并查集的根节点的距离,这样求$dis(x,y)$就可以直接$dis_x\ xor\ dis_y$了$QwQ$

(这个值就,合一块儿之后另一个并查集内的点改变的到根节点的距离,也就是$dis_x\ xor\ dis_y\ xor\ z$

然后在撤回操作的时候,直接按栈序撤回就成,就不用可持久化并查集了.

最后还有一个点是,关于撤回操作中线性基怎么删环.

事实上线性基要删除一个元素是挺难的,所以这里的实现是每次复制一个线性基,因为内存占得不大所以是没有影响的(这个和之前寒假的时候考的$shallot$有点儿像(虽然,那道题,我到现在还没落实呜(我落实真的好辣鸡阿我哭了

所以$dfs$的大致流程就,先加边,然后$dfs$,然后撤回,$over$,细节在上面,虽然有点儿杂乱无章但还是比较详细了$w$

然后就做完了?$umm$好像条理不太清楚的亚子,,,算了不懂的直接康代码趴$QAQ$

随机推荐

  1. 阿里云发布 Redis 5.0 缓存服务:全新 Stream 数据类型带来不一样缓存体验

    4月24日,阿里云正式宣布推出全新 Redis 5.0 版本云数据库缓存服务,据悉该服务完全兼容 4.0 及早期版本,继承了其一贯的安全,稳定,高效等特点并带来了全新的 Stream 数据结构及多项优 ...

  2. jQuery 滑动

    jQuery 滑动方法 通过 jQuery,您可以在元素上创建滑动效果. jQuery 拥有以下滑动方法: slideDown() slideUp() slideToggle() jQuery sli ...

  3. Round #590 (Div. 3)

    拿DIV找快乐... 当场过了A-B1-B2-C 写D差5分钟写的是正解...留坑补FG A. Equalize Prices Again 直接判断sum%n==0?sum/n:sum/n+1 B1, ...

  4. JVM 调优 —— GC 长时间停顿问题及解决方法

    零. 简介 垃圾收集器长时间停顿,表现在 Web 页面上可能是页面响应码 500 之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况 ...

  5. 项目中容易出现的BUG预警

    之前没有记录BUG的习惯导致在同一个坑里边栽了好几次,于是将最近几个项目中遇到的问题整理一下,在进行新项目时预警一遍: 使用携带有搜索功能的分页查询时,注意当用户更改了查询条件但没有点击查询按钮直接点 ...

  6. Oracle数据字典全解

    一.概念: 1.数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表. 数据字典里存有用户信息.用户的权限信息 ...

  7. Getting started with the basics of programming exercises_2

    1.编写简单power函数 #include<stdio.h> int power(int m, int n); // test power function int main(void) ...

  8. JS判断在哪一端浏览器打开

    <script src="js/jquery-2.2.3.min.js"></script> <script> var browser = { ...

  9. PHP利用纯真IP数据库在本地实现IP地址信息查询

    https://blog.csdn.net/myweishanli/article/details/45098693 准备工作: 建议本地IP地址数据库,请到http://www.cz88.net/这 ...

  10. 2019-1-16-git-subtree-pull-错误-Working-tree-has-modifications

    title author date CreateTime categories git subtree pull 错误 Working tree has modifications lindexi 2 ...