LCT
alpc_paul
这个作者很懒,什么都没留下…
展开
-
BZOJ 3669 魔法森林 LCT
链接:【BZOJ 3669】 题意:一个无向图,每条边都有A,B两种权值,找出一条最优路径使得1~n路径上的两个权值的瓶颈之和最小。 思路:对于每条边按照A为关键字从小到大排序,枚举A的瓶颈加入边,若边的两点之间联通,则找出B最大的边并比较,若大于当前B,则将该边删去,否则不加入这条边。 代码:#include<cstdio> #include<iostream> #include<algor原创 2015-08-21 17:39:03 · 945 阅读 · 0 评论 -
HDU 5333 Undirected Graph 离线 LCT维护最大生成树+树状数组
传送门【HDU 5333】 题意:一个无向图,m条边,Q个询问,每个询问查询若只保留图中的连接的两个点都在L,R之间的边,图包含多少个联通块。 思路:对询问以及边按照上届R为第一关键字从小到大排序,按照从小到大加边,用LCT维护边权为L的最大生成树,对于每个询问,查询L在[L,R]区间的边的个数,联通块的数量就是n-边数。 代码:#include <cstdio> #include <iost原创 2015-08-21 17:19:03 · 1382 阅读 · 0 评论 -
HDU 5398 GCD TREE LCT维护贪心
HDU 5398 GCD TREE LCT维护贪心题目链接:传送门题意:找出一颗1~n的最大生成树,边的权值为连接节点的GCD。思路:贪心的考虑每条边的权值一定为较小的点的值,将1~n从大到小加入到生成树中,向其因子连边,用LCT维护一下最大生成树就好了。#include <cstdio> #include <iostream> #include <cstring> #include <algori原创 2015-08-21 13:10:53 · 1319 阅读 · 1 评论