10 2019 档案
摘要:"luogu" 我们要求的答案应该是三个区间长度$ 3 $在三个区间中都出现过的数个数 先考虑数列中没有相同的数怎么做,那就是对三个区间求交,然后交集大小就是要求的那个个数.现在有相同的数,考虑给区间中的数安排位置,即区间中如果出现了多个相同的数$x$,那么就把第一个$x$放在$x$这种数要放的第一
阅读全文
摘要:"luogu" 先考虑怎样的二进制串才会被3整除.可以发现如果二进制位第$0,2,4...2n$位如果为$1$,那么在模3意义下为1,如果二进制位第$1,3,5...2n+1$位如果为$1$,那么在模3意义下为 1.所以也就是位置上是1的奇二进制位个数减位置上是1的偶二进制位个数要被3整除 在这种条
阅读全文
摘要:"bzoj" 题目要的连通块个数可以表示为点数$ $所有生成树上的边数.考虑这个生成树边数,我们维护编号最大生成树,按照编号加入边,然后如果加的时候会成环就把环上编号最小的边挤掉,并且当前的第$i$条边的前驱边$pre_i$为刚才被挤掉的第$j$条边,如果没有前驱边就是0 然后对于一个询问,我们只把
阅读全文
摘要:"loj" 我本来是直接口胡了一个意思一样的做法的,但是因为觉得有点假+实现要用并查集(?)就卡了好一会儿... 对于一个点$x$来说,独特的点一定在它的最长链上,如果有独特的点不在最长链上,那么最长链上一定有和他到$x$距离相同的点,矛盾 然后对于一个点,最长链端点一定可以是直径的两端点之一,所以
阅读全文
摘要:"cf" "luogu" 这题$prim$和$kruskal$似乎都不可做,考虑$Boruvka$算法,维护一堆连通块,对于每个连通块每次找出其他连通块和它的最小权值的边,然后只用这些边合并连通块,首先这样子做是对的,因为参考$prim$,连通块应该用最小权的边和其他连通块合并,并且每次合并连通块数
阅读全文
摘要:"luogu" 因为是一个点向矩形区域连边,所以可以~~二维数据结构优化连边~~,但是会MLE.关于维护矩形的数据结构还有$KD Tree$,所以考虑$KDT$优化连边,空间复杂度$m\sqrt n$,无法通过 进一步的,一条题目中的边会对若干$KDT$上的点连边,然后这些点的子树被此点更新.考虑$
阅读全文
摘要:"luogu" 暴力? 暴力! 这个题有点像最短路,所以设$f_{i,j}$表示在$i$号楼,当前$doge$跳跃能力为$j$的最短步数,转移要么跳一步到$f_{i+j,j}$和$f_{i j,j}$,要么换到别的$doge$,转移到$f_{i,k}$ 这看似有$n^2$的状态,实际上状态数只有$n
阅读全文
摘要:"loj" 这题有在一棵树上上升或者下降的操作,稍加分析后可以发现上升操作如果不是一定要做(指高度不足以到下一棵树或者是最后到达$n$)就不做,下降操作也是如果不是一定要做(指到达下一棵树时高度过高)就不做,因为如果提前做了,可能会导致后面要浪费一些步数使得移动合法.然后这个移动过程就会分成两段,先
阅读全文
摘要:"bzoj" 对于这题先套路的找出一棵生成树,然后还会剩下一些非树边,要删边使得图不连通(假设先删非树边)当且仅当删掉了一条没有返祖边覆盖的树边,或者是删了两条被相同的非树边集合覆盖的树边 现在要处理这个问题.我们给所有非树边一个随机权值,然后树边的权值就是覆盖它的非树边权值异或和,这个可以树上差分
阅读全文

浙公网安备 33010602011771号