摘要:
考虑和一个圆有交集的圆,是平面上的一块区域,所以我们考虑用 $KDtree$ 维护。 两个圆相交的条件 $\displaystyle (X_i X_j)^2+(Y_i Y_j)^2 \leqslant (R_i+R_j)^2$ 考虑怎么剪枝,直接维护 $X,Y,R$ 的话不好维护。我们知道圆 $i$ 阅读全文
摘要:
直接求不好求,我们考虑 \(min-max\) 容斥:\(\displaystyle E(max(S))=\sum_{T \subseteq S}(-1)^{|T|+1}E(min(T))\) 其中 \(S\) 为到达相应的点花费时间的集合, \(max(S)\) 为到过所有点的时间, \(min( 阅读全文
摘要:
我们观察题目后发现这很明显是一道有关最短路的题,首先可以无脑打一个最短路模板上去。 36分 阅读全文
摘要:
先建出来圆方树,圆点为本身的权值,方点为与之相连的圆点的最小值。 很明显答案就是询问的两点间的路径上的最小值。 考虑修改操作 $1$ .圆点:直接改 $2$ .方点:对每个方点开一个 $multiset$ ,存储相邻的点的权值。 我们发现这样的话修改一个圆点的时候会修改很多方点,效率低。 我们将 $ 阅读全文
摘要:
设 $a[i]$ 为二进制为 $i$ 的列的数量, $b[i]$ 为 $i$ 二进制下前 $n$ 位中 $0/1$ 出现的较小值。 假设我们对列的修改状态为 $i$ ,那么这时的 $ans$ 为 $\displaystyle \sum_{j}a[j] \times b[i \bigoplus j]$ 阅读全文
摘要:
题目不难,但是思路巧妙。 我们求出差分数组后,就变成了这三种操作 1.一个数加一 2.一个数减一 3.一个数加一的同时一个数减一 我们要让 $2$ ~ $n$ 变成 $0$ ,设所有整数的和为 $s1$ ,负数的和的绝对值为 $s2$ ,则最少操作数为 $max(s1, s2)$ 我们 $min(s 阅读全文
摘要:
对于一段区间查询最大异或值,我们可以用 可持久化0/1Trie树 来维护。 对于一个点的子树,它们的 $dfs$ 序是一段连续的区间。 对于一条路经,我们拆成两个端点分别到达 $LCA$ 的两条路径,它们的 $dep$ 是连续的。 我们分别建出来 1.以 $dfs$ 序为外层的树 2.以 $dep$ 阅读全文
摘要:
设 $f[n][k]$ 为 $n$ 个人第 $k$ 个人胜利的概率。初始化 $f[n][1]=1$ 第一个人要想赢的话第一枪不能中,然后他就相当于成了 $n$ 个人里的第 $n$ 个,$f[n][1]=(1 P_0) \times f[n][n]$ 对于其他人,如果第一个人中了,就转移到了 $f[n 阅读全文
摘要:
首先说明一点:平方的期望 不等于 期望的平方,三次方也一样 设 $f[i]$ 为只考虑前 $i$ 个时的答案 若当前格子为 $0$ ,不会造成额外贡献。 若当前格子为 $1$ ,概率为 $p[i]$ ,造成的贡献为 $E(len_i^3)=E((len_{i 1}+1)^3)=E(len_{i 1} 阅读全文
摘要:
题目大意 给定 $x,y$ ,求有多少个数列满足其 $gcd$ 为 $x$ ,和为 $y$。 题解 设 $k=x/y$,若 $k$ 不是整数则无解。否则就是求和为 $k$ ,$gcd=1$ 的序列个数 容斥考虑: 首先和为 $k$ 的所有序列一共有$2^{k 1}$ 个。 若 $gcd!=1$ 则应 阅读全文