摘要:
其实开这个博客吧,有两个目的,第一个就是记录复习下学习的东西,第二就是在做题过程中遇到的题解都说的感觉不是特别清楚,想自己来表达一下做法~~虽然我自己可能讲的也不算清楚~~; 就这样 原博客地址 https://blog.csdn.net/CIao_015 阅读全文
摘要:
题意 在数轴上有$n$个人,分别在$x_i$处以$v_i$的速度向数轴正方向移动,当一个没有染色的人和染色的人经过时,没有染色的人会被染上颜色;现在在移动之前给某些人提前染上色,问共有多少种染色方式,使得在足够长的时间过后,所有人都能被染上色; 题解 时间足够长时,这$n$个人的顺序一定是确定的,也 阅读全文
摘要:
长链剖分比起重链剖分,它更像dsu on tree那种的通过遍历顺序保存数据顺序来优化时间复杂度的小技巧,适用于统计链上信息问题的优化,还有就是$O(1)$求K级祖先; 一些长链剖分的概念 长儿子:某个节点所有儿子中所处链最长的那一个 链长:某点所处长链的长度 链顶:某条链深度最浅的那个节点 1.$ 阅读全文
摘要:
这种优化只能对于在扩展缩小区间维护答案时,查询的东西是可以差分的,并且只能优化掉修改的复杂度; 比如你在查一个区间的逆序对,当你扩展右端点时,你需要将答案加上前面这段区间中比新的右端点位置上的值大的个数,这种查询就是可以差分的,比如我们当前的区间的左右端点为$L,R$,那么我们扩展右端点就可以先查$ 阅读全文
摘要:
题意 告诉你一个数组$h$,然后每次给你询问一个区间$l,r$,问你$$\prod_{i=1}^l\prod_{j=i+1}^rGCD(h[i],h[j])$$ 题解 这个区间查询感觉不好维护,实在找不到用啥东西去维护,而且他又没修改,我考虑的是使用莫队,然后考虑莫队扩展缩小区间的时候怎么搞:扩展的 阅读全文
摘要:
对于某些点分治不太好合并两条链的信息的题,可以考虑使用边分治; 边分治时的主要思想跟点分治一样,一直去找某个重心,把一棵树不断化成更小的部分,边分治需要找的这个重心在边上,使得去掉这条边过后两边剩的点的差最小,写法跟点分治都差不多,但是边分治会被菊花图这样的树给卡成$n^2$,所以在边分治之前要重构 阅读全文
摘要:
"LOJ" 题意 给了你一棵树,然后给每个点一个新标号,每次问旧标号的点$u,v$路径上的所有点对应的新标号点到旧标号点$K$的距离总和; 题解 这些一抹多的限制都可以转化为偏序问题,最后只需要一下求若干个点到某点$x$的距离和公式$ANS=dis[u] t+\sum_{i=1}^tdis[i] d 阅读全文
摘要:
"BZOJ" 题意 给你$n$个数$A_i...A_n$,每次询问一个区间$[l,r]$,问这个区间中的数不能组成的最小正整数是多少; 题解 遇到这种题询问的题一般先考虑如果只询问一次,一次询问整个数列怎么做; 考虑把数从小到大排序,然后求出前缀和$S_1...S_n$接下来有一个比较显然但是非常关 阅读全文
摘要:
"BZOJ" 题意 给你$n$个数,每次询问一个区间$[l,r]$是否存在一个出现次数严格大于$\frac{r l+1}{2}$的数,如果有,输出这个数,否则输出 ; 题解 主席树上二分,到了叶子节点再判一下出现次数; cpp include define Fst first define Snd 阅读全文
摘要:
在 "Imagine大佬的博客" 帮助下整了一周莫某某反演,总结一下学的一些新东西和我做的水题的一些小套路; 本篇文章没有对反演进行证明,只是记录了一些理解与做题时遇到的感觉挺有用的小技巧 首先是莫比乌斯函数$\mu$ $$\mu(x)=\begin{cases} x=1\ 1\\ x=p_1^1 阅读全文