关闭
当前搜索:

[bzoj4986]MiniumCut

题目大意一副无向图,给定任意两点间最小割,请构造出这样的图,或判断无解。构造显然构造出最小割树即可。 容易发现最小割树一定是一颗最大生成树。 不同的最大生成树之间任意两点间最小割不变。 因此做一颗最大生成树,看它是否满足条件即可。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using nam...
阅读(23) 评论(0)

最小生成树

题目描述结论下面的m均指非树边有m条。 非树边的权值肯定赋值为路径上的最大值(根据环切原理这是下界)。 考虑按权值从小到大加入,每加入一条边就会连接两棵树。 那么一条非树边如果左端在其中一颗树中,右端在另一颗树中,则其权值和该树边一致。 由于是按照权值从小到大加入的,我们希望每次有尽量多的非树边权值确定。 那么容易发现,第i次一定会连接一个大小为i的树和一个单个的节点,也就是产生i-1条非...
阅读(169) 评论(0)

[bzoj1016][JSOI2008]最小生成树计数

题目大意给定n个点m条无向边的图G,求G的最小生成树个数,模31011。 其实有个特殊条件但我们的高端做法可以忽略。 n<=100,m<=1000矩阵树定理我们来思考一个图G所有最小生成树的同一个性质: 假如我加入所有边权<=w的边,任何生成树的联通情况一定是一致的。 脑补得证QAQ 或者你考虑反证+切割引理。 我们把边权相同的边当做一组边,每次在原来的基础上把这样边都加入。例如原本三个...
阅读(194) 评论(0)

[51nod 1614]刷题计划

题目描述大赛将至,摆在你面前的是n道题目,第 i(1 ≤ i ≤ n) 道题目能提升 ai 点智力值,代码量为 bi KB,无聊值为 ci ,求至少提升m点智力值的情况下,所做题目代码量之和*无聊值之和最小为多少。最小乘积生成树把每种方案的代码量和当做横坐标,无聊值和当做纵坐标,每种方案都可以用一个二维平面的点表示。 首先同在一个反比例函数上的点横纵乘积相同,我们要找一个点横纵乘积最小。 首先用...
阅读(456) 评论(0)

最小代价

题目大意给出一副无向图,图中有黑点和白点,要求选择图中一些边建成新图,满足不会存在任何一个白点到最近的黑点距离超过原图中该白点到最近黑点的距离。水题建立虚拟结点连向所有黑点权值为0. 然后做一遍最短路,在最短路径中的边保留,然后做最小生成树。#include #include #include #define fo(i,a,b) for(i=a;i<...
阅读(209) 评论(0)
    个人资料
    • 访问:296722次
    • 积分:11191
    • 等级:
    • 排名:第1484名
    • 原创:805篇
    • 转载:4篇
    • 译文:0篇
    • 评论:197条
    最新评论
    文章分类