省选模拟(35-40)
Posted hzoi2018-xuefeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了省选模拟(35-40)相关的知识,希望对你有一定的参考价值。
省选模拟35
1.two
线段树
对于给定的一条边,发现在另一棵树上的删边情况只有两种.
[dfn[u]<l&&dfn[v]in[l,r]||dfn[u]in [l,r]&&dfn[v]>r]
所以把所有边二元组插到另一棵树的两棵线段树里(因为用的是ta的dfn序).
在第一颗线段树u处插v,第二颗v处插u.
查询时查询区间内线段树里一维(>l/<r)的所有.
可以用单调指针+pop_back搞.
删除后就打上懒标记防止重复计算.
实现起来如果想要简便一些需要一些脑子来优化.
2.bracket
点分治+FFT
第一次打点分治.
我们知道括号序列合法条件是前缀和始终(>=0).
可是还有神仙指出还有一种从后往前的判断方式:后缀最大值
以上是关于省选模拟(35-40)的主要内容,如果未能解决你的问题,请参考以下文章