摘要:
"传送门" 按照紫荆花之恋的做法,动态维护一下点分树的形态 把点随机打乱 每次从当前的根开始 $explore$,如果已经有了就暴力跳到那个点 否则加入这个点 注意一条链的要单独处理 cpp include include "rts.h" using namespace std; typedef l 阅读全文
摘要:
"传送门" 暴力思路就是每次点分治计算答案 点分治之后,条件可以变成 $dis_i r_i\le r_j dis_j$ 每次只要查找 $r_j dis_j$ 的排名然后插入 $dis_j r_j$,随便拿个平衡树维护即可 考虑如果带修改,就是动态点分治,每个点维护两个平衡树,一个表示自己的贡献,一个 阅读全文
摘要:
"vjudge" 首先显然要建立圆方树 对于每一种点建立虚树,考虑这一种点贡献,对于虚树上已经有的点就直接算 否则对虚树上的一条边 $(u, v)$,$u$ 为父亲,假设上面连通块大小为 $x$,下面为 $y$ 切断 $(u, v)$ 之间的点(不包括 $u$)都会有 $x\times y$ 的贡献 阅读全文