随笔分类 - CodeForces
摘要:dsu on tree模板题 dsu on tree详解 暴力显然\(O(n^2)\) O(TLE) 我们发现,在 对某个节点的树做统计 前,最后一个儿子的那棵子树统计不用清空 并且,这个不用清空的儿子size越大,显然越优。挑size最大的来就行 O(nlogn) #include<iostrea
阅读全文
摘要:我们考虑用靶子来匹配射击点,可以把靶子按 \(z\) 从小到大排序后,依次寻找范围内的编号最小的射击点,并将其删除,正确性显然。 考虑如何优化这个过程,实际上我们的操作分为两种: $1.$ 在二维平面内找编号最小的点。 $2.$ 在二维平面内删除点。 可以把射击点建出 \(KDtree\) ,然后维
阅读全文
摘要:先建出来圆方树,圆点为本身的权值,方点为与之相连的圆点的最小值。 很明显答案就是询问的两点间的路径上的最小值。 考虑修改操作 $1$ .圆点:直接改 $2$ .方点:对每个方点开一个 $multiset$ ,存储相邻的点的权值。 我们发现这样的话修改一个圆点的时候会修改很多方点,效率低。 我们将 $
阅读全文
摘要:设 $a[i]$ 为二进制为 $i$ 的列的数量, $b[i]$ 为 $i$ 二进制下前 $n$ 位中 $0/1$ 出现的较小值。 假设我们对列的修改状态为 $i$ ,那么这时的 $ans$ 为 $\displaystyle \sum_{j}a[j] \times b[i \bigoplus j]$
阅读全文
摘要:题目大意 给定 $x,y$ ,求有多少个数列满足其 $gcd$ 为 $x$ ,和为 $y$。 题解 设 $k=x/y$,若 $k$ 不是整数则无解。否则就是求和为 $k$ ,$gcd=1$ 的序列个数 容斥考虑: 首先和为 $k$ 的所有序列一共有$2^{k 1}$ 个。 若 $gcd!=1$ 则应
阅读全文