
分块
天翼之城*
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hdu 6756 Finding a MEX ——分块,树状数组
This way 题意: 给你一张图,每个点都有一个权值。定义F(x)表示与x相连的所有的点的集合的MEX 每次有两种操作: 1 x y 将点x的值改成y 2 x 询问F(x) 题解: 这种题目很久以前做到过,但是现在一下子还想不到了,我也不知道这个叫什么,应该是分类讨论吧…就假定它是分块。 首先我们将点根据它连边的数量分为大点和小点。大点是指连边>=333的点。可知这种点是不会超过400个的。但是如果每次这种点修改了之后都修改它连边的那些点的话,时间复杂度会很高,不如就先不管他。一开始处理所有的小原创 2020-08-15 19:39:51 · 215 阅读 · 0 评论 -
2020牛客暑期多校训练营(第四场)A Ancient Distance —— 整除分块类似,线段树,想法,有丶东西
This way 题意: 现在有一棵树,假设你现在可以设置树中k个点为关键点,使得最后每个点到根的路径中距离它最近的关键点的距离的最大值最小。问你k从1到n的所有答案的和。 题解: 这道题有点难,牛客的标准解法我先不做,因为这个代码写起来很长,然后我就去找有没有比较短一点的做法,于是我就找到了一个很厉害的做法,分块上做线段树,这个时间复杂度应该也是O(nlog2n)O(nlog^2n)O(nlog2n)级别的。 首先我们要知道,当答案一定的时候,是会有多种k的,比如说一条长度为4的链,放2个关键点和3个关原创 2020-07-22 14:34:27 · 333 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场)A Graph Games —— 分块思想
This way 题意: 给你一张图,每次有2种操作 1 l r 表示从第l条边到第r条边,如果有这条边就删掉,否则就加上 2 x y 表示问与点x直接相连的点集是否与y直接相连的点集相同 题解: 将输入的边编号然后分块,如果要反转的两个区间不在一个块内,那么暴力l块和暴力r块,块间使用flag标记是否翻转。很优秀的想法。 #include<bits/stdc++.h> using n...原创 2019-08-05 19:30:58 · 282 阅读 · 0 评论