随笔分类 - 分块思想
摘要:题目链接 2017 CCPC Hangzhou Problem H 思路:对树进行分块。把第一棵树分成$\sqrt{n}$块,第二棵树也分成$\sqrt{n}$块。 分块的时候满足每个块是一个连通块,那么每个块就有一个共同的祖先。 把询问按照第一个点被第一棵树的哪个祖先管辖和第二个点被第二棵树的哪个
阅读全文
摘要:题目链接 2017 ACM-ICPC Beijing Regional Contest Problem C 题意 给定一个$n$个点$m$条边的无向图。现在有$q$个询问,每次询问格式为$[l, r]$,即图中只有第$l$个点到第$r$个点是安全的,同时 对于某条边,如果他的两个端点都是安全的,那么
阅读全文
摘要:题意 给定一个长度不超过$5*10^{6}$的数列和不超过$100$个询问,每次询问这个数列第$k$小的数,返回所有询问的和 内存限制很小,小到不能存下这个数列。(数列以种子的形式给出) 时限$10s$,内存限制$13MB$ 我自己YY的分治缩小答案上下界范围第三个样例要跑$90s$左右,果断放弃
阅读全文
摘要:题目链接 数列查找 考虑分块然后跑莫队, 设$c[i]$为$i$在当前维护的区间内出现的次数, $g[i]$为在当前维护的区间内有多少个数出现次数为$i$, $bg[i]$把出现次数分块,$bg[i]$的意义是第$i$个块代表的所有出现次数中出现的个数。 $f[i][j]$对$1$到$n$分块,意义
阅读全文
摘要:题目链接 Mr. Kitayuta's Colorful Graph 把每种颜色分开来考虑。 所有的颜色分为两种:涉及的点的个数 $> \sqrt{n}$ 涉及的点的个数 $<= \sqrt{n}$ 对于第一种颜色,并查集缩点之后对每个询问依次处理过来若两点连通则答案加一。 对于第二种颜色,并查集缩
阅读全文
摘要:题目链接 Powerful array 给你n个数,m次询问,Ks为区间内s的数目,求区间[L,R]之间所有Ks*Ks*s的和。 $1<=n,m<=200000, 1<=s<=10^{6}$ 考虑莫队算法 把区间排序,然后让l和r分别询问即可。 根据排序的方式,l指针和r指针移动次数和大概是$n\s
阅读全文
摘要:题目链接 GukiZ and GukiZiana 题目大意:一个数列,支持两个操作。一种是对区间$[l, r]$中的数全部加上$k$,另一种是查询数列中值为$x$的下标的最大值减最小值。 $n <= 500000, q <= 50000$ 我一开始的反应是线段树,然后发现自己完全想错了…… 这道题时
阅读全文

浙公网安备 33010602011771号