摘要: 题目链接 "codeforces" . "洛谷" . Solution 建圆方树,对于圆点权值直接就是点权,方点权值就是所有儿子的最小值,这个可以对于每个方点开一个$multiset$维护儿子点权。 那么直接上树剖就好了,注意如果$lca$是方点,那么他父亲的贡献也要算上。 复杂度$O(n\log 阅读全文
posted @ 2019-03-28 21:21 Hyscere 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "LOJ" . "BZOJ" . Solution 先建圆方树。 我们考虑暴力,枚举一个点对,我们枚举的点都是圆点,然后统计中间那个点可以取的位置的数量,加起来就是答案。 那么怎么统计呢,我们对于每个点赋一个点权,方点点权为点双的大小,圆点点权为$ 1$。 那么这条路径的点权和就是答案,注 阅读全文
posted @ 2019-03-28 16:56 Hyscere 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "洛谷" . Solution 边双缩点然后$lca$跑$dis$就好了。 注意这里是边双,不知道为啥所有题解都说的是点双。 边双是定义在点上的,即每个点只属于一个边双;点双是定义在边上的,即每条边只属于一个点双。 c++ include using namespace std; void 阅读全文
posted @ 2019-03-28 10:37 Hyscere 阅读(177) 评论(0) 推荐(0) 编辑