随笔分类 -  数据结构->圆方树

摘要:题解 我对莫队真是一无所知 这个东西显然可以用圆方树转成一个dfs序列 然后呢,用莫队计算每个询问区间的每个数出现的次数,从而顺带计算每个数字的奇偶性 但是我们要查的数字也用一个范围,可以直接用分块维护,修改$O(1)$查询$O(n)$ 代码 cpp include define enter put 阅读全文
posted @ 2018-08-21 12:52 sigongzi 阅读(274) 评论(0) 推荐(0)
摘要:题解 圆方树建好之后点是原来的两倍,而st表求lca也要开到点的两倍,所以是四倍 我并没有开小,然而= =,我的预处理log2,写成了200000,而不是400000 我是不是折翼啊= = 很可写,我们对于割点考虑一下圆方树,发现答案就是圆方树上两个圆点之间经过了多少圆点,把圆点拿出来然后建立虚树, 阅读全文
posted @ 2018-05-24 07:16 sigongzi 阅读(217) 评论(0) 推荐(1)
摘要:题解 学习了圆方树!(其实是复习了Tarjan求点双) 我又双叒叕忘记了tarjan点双一个最重要,最重要的事情! 就是……假如low[v] = dfn[u],我们就找到了一个点双,开始建立方点,但是,虽然这个点双 包括点u ,然而这个u啊,它很花心可能会在很多个点双里!首先u,不能被弹出去 其次呢 阅读全文
posted @ 2018-05-23 08:27 sigongzi 阅读(218) 评论(0) 推荐(1)