码迷,mamicode.com
首页 >  
搜索关键字:最小边    ( 240个结果
hihocoder(1098) 最小生成树Kruskal
Kruskal比Prim简单的多,对已知边排序,然后从排序的边中跳出N-1条最短的来就可以了,当然,如果在挑的过程中出现环,就丢掉继续找,就只这么直接。如何判定有没有环?很简单,用并查集就可以。比如a-b,b-c,c-a构成了环,那么a-b合并,b-c合并后,如果紧接着最小边是c-a,那么并查集的f...
分类:其他好文   时间:2015-04-12 10:38:31    阅读次数:122
POJ2724 Purifying Machine【二分图最小边覆盖】
题目大意: 有2^N个奶酪,编号从000…00到111…11,现在有台机器有N个开关,每个开关的状态有3个, 分别是'0'、'1'、'*',每个开关只能有一个状态存在。'*'状态可以替代'0'或'1'状态。比如11*1, 对应为1111或1101。现在有M个奶酪被感染了,每个奶酪的编号为长度为N的二进制字符串。 和开关一样,每一位上除了能为'1'、'0'之外,还可以是'*',表示既能是'0',也能是'1'。比如说 1*1,既可以是101,也可以是111。现在要把这些被感染的奶酪(二进制字符串)都删除掉。删除...
分类:系统相关   时间:2015-04-09 11:55:46    阅读次数:172
UVa 1395 Slim Span【最小生成树】
题意:给出n个节点的图,求最大边减最小边尽量小的值的生成树首先将边排序,然后边的区间,判定在该区间内是否n个点连通,如果已经连通了,则构成一颗生成树,则此时的苗条度是这个区间内最小的(和kruskal一样,如果在已经构成一颗树的基础上,再继续加入边,由于边都是排过序的,再加入的边一定会更大)再维护一...
分类:其他好文   时间:2015-04-04 01:06:59    阅读次数:152
POJ3020 Antenna Placement【二分图最小边覆盖】
题目大意: 在N*M的矩阵中,有K个城市要覆盖无线网。而一个无线网基站只能覆盖左右相邻或是上下相邻的两个 城市。问:至少放置多少个基站,能将这K个城市全部覆盖。输入数据时,'*'表示城市,'o'表示空地。 思路: K个城市作为K个点,编号为1~K。如果有两个城市相邻,则两个城市之间建立一条双向边。现在问题 变为了怎么从图中选择最少的边,使得能够覆盖所有的点。可以用二分图最小边覆盖来做。首先遍历 原图,对K个城市编号,存入iMap[][]数组中。然后建立一个二分图,两边都为K个城市。如果两个城 市有边(即两...
分类:其他好文   时间:2015-04-03 11:20:01    阅读次数:185
poj 3020 一般图最大匹配 带花树开花算法
poj 3020 一般图最大匹配 带花树开花算法 题意: 给出一个h*w的图,每个点都是'o'或'*',最少要用多少个1*2的矩形才能把图中所有的'*'都覆盖掉。 限制: 1 思路: 最小边覆盖=|V|-最大匹配 一般图最大匹配,带花树开花算法 /*poj 3020 一般图最大匹配 带花树开花算法 题意: 给出一个h*w的图,每个点都是'o'或'*',最少...
分类:编程语言   时间:2015-03-31 09:19:59    阅读次数:169
网络流中的一些基本概念
网络流中的一些基本概念 最大流: 最小割: 最大匹配: 最小顶点覆盖:求一个最小的点集S,使得G中任意边都有至少一个端点属于S。 最大独立集:求一个最大的点集,里面的点不存在任何的边相连。 最大团:求一个最大的点集,里面的点两两相连。 最小边覆盖:理解为边覆盖点,用最少的边把图中的点全部覆盖。 最小路径覆盖:用最少的路径把图中的所有点覆盖。 规则: 最大流=最小割 最...
分类:其他好文   时间:2015-03-30 21:09:27    阅读次数:188
BZOJ 2654 tree 二分+最小生成树
题目大意给出一些边,每个边有一个边权和颜色。现在要求出最小边权有need个白边的生成树。输出这个边权。思路在白边上加一个权值,这样就可以人为的改变白边出现在最小生成树。这个东西显然可以二分。之后取一下最小值就可以了。CODE#define _CRT_SECURE_NO_WARNINGS#include #include #include #...
分类:其他好文   时间:2015-03-27 22:27:25    阅读次数:136
poj 3020Antenna Placement 最小边覆盖
//最小边覆盖 //最小边覆盖=最大独立集=n-最大匹配 //这个是在原图是二分图上进行的 //由于此题为无向图 //最小边覆盖=最大独立集=n-最大匹配/2; #include #include #include using namespace std; const int maxn = 45*15; int line[maxn][maxn]; int match[maxn...
分类:其他好文   时间:2015-03-21 23:00:49    阅读次数:290
CodeForces 238C World Eater Brothers 树形dp
题目链接:点击打开链接 题意: 给定n个点的有向树 下面n-1行给出正向的边。 问: 修改尽可能小的边的方向,可以任选2个起点使得这两个点bfs能遍历完所有点。 思路: 枚举一条边,把树分成两部分,每次计算这两部分的最小花费。 那么这样就变成一个子树上的dp。 对于一棵树所需要修改的最小边方向的方法: 首先容易求出:dp[i]表示以i为根的子树,用i作为起点的花费. 我们选根...
分类:其他好文   时间:2015-03-11 17:12:51    阅读次数:149
二分图 (匈牙利算法)
二分图的匈牙利算法二分图的难点主要在建图;关于二分图的几个重要公式: 最大匹配数=最小点覆盖 最小边覆盖=顶点总数-最大匹配数/2 (这个要拆点:uN=vN=cnt,ans=cnt-hungary/2) 最大团=补图最大独立集 最大独立集=顶点数-最大匹配匈牙利算法:int link[maxn...
分类:编程语言   时间:2015-03-11 16:55:29    阅读次数:122
240条   上一页 1 ... 18 19 20 21 22 ... 24 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!