03 2019 档案

摘要:长链剖分比起重链剖分,它更像dsu on tree那种的通过遍历顺序保存数据顺序来优化时间复杂度的小技巧,适用于统计链上信息问题的优化,还有就是$O(1)$求K级祖先; 一些长链剖分的概念 长儿子:某个节点所有儿子中所处链最长的那一个 链长:某点所处长链的长度 链顶:某条链深度最浅的那个节点 1.$ 阅读全文
posted @ 2019-03-14 21:14 Sachiko 阅读(236) 评论(0) 推荐(0)
摘要:这种优化只能对于在扩展缩小区间维护答案时,查询的东西是可以差分的,并且只能优化掉修改的复杂度; 比如你在查一个区间的逆序对,当你扩展右端点时,你需要将答案加上前面这段区间中比新的右端点位置上的值大的个数,这种查询就是可以差分的,比如我们当前的区间的左右端点为$L,R$,那么我们扩展右端点就可以先查$ 阅读全文
posted @ 2019-03-12 20:26 Sachiko 阅读(537) 评论(0) 推荐(0)
摘要:题意 告诉你一个数组$h$,然后每次给你询问一个区间$l,r$,问你$$\prod_{i=1}^l\prod_{j=i+1}^rGCD(h[i],h[j])$$ 题解 这个区间查询感觉不好维护,实在找不到用啥东西去维护,而且他又没修改,我考虑的是使用莫队,然后考虑莫队扩展缩小区间的时候怎么搞:扩展的 阅读全文
posted @ 2019-03-12 20:25 Sachiko 阅读(186) 评论(0) 推荐(0)
摘要:对于某些点分治不太好合并两条链的信息的题,可以考虑使用边分治; 边分治时的主要思想跟点分治一样,一直去找某个重心,把一棵树不断化成更小的部分,边分治需要找的这个重心在边上,使得去掉这条边过后两边剩的点的差最小,写法跟点分治都差不多,但是边分治会被菊花图这样的树给卡成$n^2$,所以在边分治之前要重构 阅读全文
posted @ 2019-03-09 17:24 Sachiko 阅读(240) 评论(0) 推荐(0)