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