分块
Spy97
这个作者很懒,什么都没留下…
展开
-
Codeforces 1217F Forced Online Queries Problem
题意n个点的图,一开始是空图,两种操作,一种是增减(u,v)(u,v)(u,v),若之前无边,则加上该边,若之前有边,则去掉该边,另一种是提问两个点,看是否联通,强制在线。题解先考虑不强制在线的解法定期重构,每次求解一个块内的答案首先,将块之前的边且最后留下来的边分为两种一是在块内没有出现的边二是在块内出现的边对于第一种边,直接建立即可,而且后面也不会被删去在建完第一种边之后,紧...原创 2019-12-12 22:49:27 · 195 阅读 · 0 评论 -
2019CCPC FINAL E Non-Maximum Suppression
题意给出n个相同大小的正方形方框,每个有一个权值,每次,选出剩余中的权值最大的,然后将它和其他剩余的进行比较,将符合条件的删去,最后输出选出的正方形题解分块,每个可能删去的只有它附近一定区域内,将横纵坐标按照正方形边长分块,每次检查它周围的9个块内的正方形,注意精度问题由于块很多,但实际有正方形的块不超过n个,所以动态开块,块内用 stl 中的list存即可千万不要用map,因为涉及到e...原创 2019-12-09 20:41:00 · 651 阅读 · 0 评论 -
2019牛客多校第三场 Graph Games
题意给出一个无向图,S(x)S(x)S(x) 表示点 xxx 所能达到的所有点的集合有两种操作,一种是修改一个区间的边的状态,即在图上的变为不在,不在的加上去另一种是询问两个点的 S(x)、S(y)S(x)、S(y)S(x)、S(y) 是否相同题解利用 HashHashHash,给每个点附一个随机的64位整数,将所连点的权值异或和作为S(x)S(x)S(x)的值,来判断是否相同将所...原创 2019-07-26 18:48:38 · 133 阅读 · 0 评论 -
2019牛客多校第八场 Distance
题意三维空间中,两种操作,意思标记一个点,二是询问一个点,要求输出询问点与标记点的最小曼哈顿距离题解把 n×m×h≤105n\times m\times h \leq10^5n×m×h≤105 看成 n,m,h≤105n,m,h\leq10^5n,m,h≤105也是醉了。。。最小曼哈顿距离∣x−x′∣+∣y−y′∣+∣z−z′∣|x-x'|+|y-y'|...原创 2019-08-11 10:36:11 · 286 阅读 · 0 评论 -
LOJ 6070基因 回文树 分块
提交链接题解分为n\sqrt{n}n 个块,每个块预处理出起点到 n 的回文树,需要保存的信息有区间的回文串种类个数、区间的某种结点出现的最早位置以及区间的最长回文前缀对应的结点后两个都是为了向前插入准备的这是因为,如果向前插入的过程中,产生的一个新的结点,我们需要看这个结点在区间内是否出现过,此外,向前插入,需要从最长回文前缀开始这道题需要对回文树有深入的理解,并且要用到翁文涛在...原创 2019-08-27 09:26:37 · 245 阅读 · 0 评论 -
Comet OJ - Contest #11 isaster
题意你需要支持对一张 n 个点 m 条边点带权的无向连通图进行以下两种操作:1、修改点 x 的点权。2、询问从点 x 出发只经过编号不大于 y 的点能到达的所有点的点权之积取模 998244353题解对操作分块,每块内的答案一起求求解时,按编号从小到大加入图中,维护所有联通块的点权的乘积每次加完一个点,遍历和这个点有关的操作2,初始答案就是询问点所在的联通块的点权乘积但是有修改每...原创 2019-09-23 19:04:35 · 198 阅读 · 0 评论