随笔分类 -  CodeForces

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