图论-生成树
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 2395 [Balkan 2011]Timeismoney
最小乘积生成树这个做法是可以推广到k维乘积的。建立坐标系,每一种生成树对应一个点。x坐标表示第1维的代价和,y坐标表示第2维的代价和。易证最终符合题意的点(称为最优点)一定在所有坐标上的点的左下凸壳上(考虑x*y=k -> 函数y=k/x)。 先按第1维的值做最小生成树,记这个点为A。再按第2维的值做最小生成树,记这个点为B。则最优点一定在AB连线靠近原点的一侧。因此我们需要枚举AB连线靠近原点的原创 2017-02-22 22:10:08 · 269 阅读 · 0 评论 -
BZOJ 4242 水壶
最小生成树+倍增发现如果水壶是定值,那地图上肯定存在许多以建筑物为中心的联通块。并且随着水壶的增大,联通块大小也增大,有一些联通块会融合。因此考虑把所有建筑物丢到队列搞BFS。如果两个联通块碰到了,就给这两个建筑物连上一条边。如果两个联通块代表的建筑之间已经存在一条路径可达,就不连。这样连出来是一棵树,而且也是最小生成树。然而这样是错的,有一个反例,因为对于同一个距离,队列更新有先后顺序。先更新的点原创 2017-01-31 22:39:07 · 751 阅读 · 0 评论 -
BZOJ 4349 最小树形图
最小树形图+朱刘算法朱刘算法:http://acm.nudt.edu.cn/~twcourse/Tree.html#a17 啊虽然是繁体的不过写的挺详细的, 还有啊那个不叫水母叫环套树...... 为什么网上的朱刘算法都没有正确性证明啊,好气噢……感性理解一下吧这题的话,显然先把全部的都打一遍再把每一个打完,不会比其他方法更劣,因为其他方法通过交换打的过程都能变成前者。那就变成我们要找到最小的代价能原创 2017-04-15 14:23:44 · 651 阅读 · 0 评论