摘要: 用LCT维护一下删除时间的最大生成树即可。当然也可以线段树分治。 阅读全文
posted @ 2018-07-28 23:28 Gloid 阅读(630) 评论(0) 推荐(1) 编辑
摘要: 上一题的强制在线版。对图跑出一个dfs树,给非树边赋上随机权值,树边的权值为覆盖他的非树边权值的异或。这样如果某条树边和覆盖他的非树边都被割掉(即图不连通),他们的异或值就为0。每次对询问看有没有子集异或值为0即可,可以简单地用线性基搞定。 阅读全文
posted @ 2018-07-28 16:32 Gloid 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 把查询看做是在一条时间轴上。那么每条边都有几段存在时间。于是线段树分治就好了。 然而在bzoj上t掉了,不知道是常数大了还是写挂了。 以及brk不知道是啥做数组名过不了编译。 阅读全文
posted @ 2018-07-28 14:57 Gloid 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一直不明白为什么要用floyd求传递闭包,直接搜不是更快嘛……不过其实可以用bitset优化,方法也比较显然。bitset是真的神奇啊,好多01状态且转移相似的东西都可以用这个优化一下。 阅读全文
posted @ 2018-07-28 12:48 Gloid 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 之前学了一下线段树分治,这还是第一次写。思想其实挺好理解,即离线后把一个操作影响到的时间段拆成线段树上的区间,并标记永久化。之后一块处理,对于某个节点表示的时间段,影响到他的就是该节点一直到线段树根的所有操作。(语死早)这样可以把操作的插入和删除改为只有插入。 具体到这题,由于并查集没法删除边,我们 阅读全文
posted @ 2018-07-28 12:11 Gloid 阅读(197) 评论(0) 推荐(0) 编辑