随笔分类 -  图论——树——树上差分

摘要:闲话 有这样一个问题——一个长度为$n$的序列$a_1 a_n$,$q$个询问,每次询问$l,r$,选出$\{a_l,a_{l+1}...a_{r}\}$中一个子集使得子集内元素异或和最大/小。 第一次出现在HNOI模拟赛,当时的$n,q$只有大概$3 10^4$还是$10^5$的样子。然后毫不犹豫 阅读全文
posted @ 2018-09-18 17:10 Flash_Hu 阅读(2080) 评论(1) 推荐(0)
摘要:线段树分裂 以某个键值为中点将线段树分裂成左右两部分,应该类似Treap的分裂吧(我菜不会Treap)。一般应用于区间排序。 方法很简单,就是把分裂之后的两棵树的重复的$\log$个节点新建出来,单次时间复杂度严格$O(\log n)$。 至于又有合并又有分裂的复杂度,蒟蒻一直不会比较有说服力的证明 阅读全文
posted @ 2018-09-15 15:54 Flash_Hu 阅读(4728) 评论(17) 推荐(16)
摘要:"洛谷题目传送门" 闲话 偶然翻到一道没有题解的~~淀粉质~~,想证明一下自己是真的弱 然而ZSYC(字符串组合)早就切了 然后证明成功了,WA到怀疑人生,只好借着ZSY的代码拍,拍了几万组就出来了。。。 思路 是人都能想到的:路径统计,点分治跑不了了。 然而这个统计有些麻烦。。。 首先别看错题,是 阅读全文
posted @ 2018-07-30 17:45 Flash_Hu 阅读(477) 评论(0) 推荐(0)
摘要:"洛谷题目传送门" 动态点分治小白,光是因为思路不清晰就耗费了不知道多少时间去gang这题,所以还是来理理思路吧。 一个树$T$里面$\sum\limits_{v\in T} D_vdist(u,v)$取到最小值的$u$我们可以称作带权重心。类似重心各种性质的证明过程,我们不难证出这样的点顶多只有两 阅读全文
posted @ 2018-07-25 22:10 Flash_Hu 阅读(339) 评论(0) 推荐(0)
摘要:"洛谷题目传送门" 思路分析 最简单粗暴的想法,肯定是大力LCT,每个树都来一遍link之类的操作啦(T飞就不说了) 考虑如何优化算法。如果没有1操作,肯定每个树都长一样。有了1操作,就来仔细分析一下对不同树的影响。 假设有一个1操作形如$l\ r\ x$,那么从微观来看差异,我们只关注第l 1棵树 阅读全文
posted @ 2018-04-04 19:24 Flash_Hu 阅读(747) 评论(4) 推荐(2)
摘要:"洛谷题目传送门" 题目大意 就是给你一棵树,每个点都有点权,每次任意询问两点间路径上点权第k小的值(强制在线)。 思路分析 第k小。。。。。。又是主席树了。但这次变成树了,无法直接维护前缀和。 又是树上差分的小套路——每一个点到根的前缀和还是很好维护对吧。 询问$u,v$的时候,我们可以知道$si 阅读全文
posted @ 2018-01-21 15:20 Flash_Hu 阅读(631) 评论(0) 推荐(0)