剪辑其他网友朋友的博文,谢谢他了!匈牙利算法是解决寻找二分图最大匹配的。(一)预备知识 什么是二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同 的顶点...
分类:
其他好文 时间:
2014-08-16 12:20:10
阅读次数:
193
原文地址:http://blog.csdn.net/int64ago/article/details/7425727看到这个标题无论你是处于怎样的心理进来看了,我觉得都是值得的。因为这个问题太简单,任何一个开始接触“真正”算法基本都是从二分查找开始的。至于二分查找都不知道是什么的可以先去找别的资料看...
分类:
其他好文 时间:
2014-08-16 11:01:00
阅读次数:
194
题目链接
题意:n个学生,m对关系,每一对互相认识的能住一个房间。问否把这些学生分成两组,要求每组的学生都互不认识。求最多需要多少个房间。
是否能分成两组?也就是说判断是不是二分图,判断二分图的办法,用染色法
把初始点染成黑色,然后与之相连的染成白色,重复,使路径黑白相间,
如果当前点的颜色和与他相连点的颜色相同时,则说明这个图不是二分图
求最多需要多少个房间?也就是...
分类:
其他好文 时间:
2014-08-16 09:45:10
阅读次数:
204
解题报告
题目传送门
题意:
两个人拿着两副牌,其中一人知道另一个人的手牌,问要怎么配对才能使他获得更多的点数。
游戏规则:
两张牌的第一个数大的牌的人加点。
第一个数相同就比较第二个数。
H>S>D>C
思路:
很容易建图,二分图最大匹配over
#include
#include
#include
using namespace std;
int mmap[100]...
分类:
其他好文 时间:
2014-08-15 21:14:29
阅读次数:
362
解题报告
题意:
题意类似与POJ3041
思路:
见POJ3041解题报告
最小点覆盖。
#include
#include
#include
using namespace std;
int mmap[110][110],vis[110],pre[110],n,m;
int dfs(int x) {
for(int i=1; i<=m; i++) {...
分类:
其他好文 时间:
2014-08-15 21:12:49
阅读次数:
253
今天学习了一下二分图,赶紧总结整理一下:
二分图问题,有很多,但归根结底还是求最大匹配数。
Point 1:
二分图中的最小点覆盖数 = 最大匹配数
最小点覆盖:也就是说用最少的点覆盖所有的边
Point 2 :
二分图中的最小路径覆盖 = 顶点数 - 最大匹配数
最小路径覆盖:也叫最小边覆盖,是指用尽量少的不相交的路径覆盖图中的所有顶点。
Point...
分类:
其他好文 时间:
2014-08-15 21:11:39
阅读次数:
266
思路:给定一个字符串,求两个不重叠的字串,他们翻转互补。其中一个字符串可以是删掉最多两个字符的原字符串子串。动态规划,由于可以对子串进行删除操作,我首先想到了LCS问题,但需要枚举所有的长度,这样复杂度为O(N^3),不可取。由于长度线性增加,考虑使用二分查找目的长度,这样复杂度为O(N^2*log...
分类:
其他好文 时间:
2014-08-15 19:27:09
阅读次数:
223
思路:这题是论文里的最后一道练习题了,不过最后一题竟然挺水的。
因为求的是未反转或者反转后,最长公共子串。
刚开始还真不知道怎么构建连接成一个字符串,因为需要有反转嘛!
但是其实挺简单的,把未反转的和反转后的字符串都连起来,中间用未出现过的字符隔开就行了!然后未反转的和反转的在同一组。
二分枚举最长的公共前缀长度,然后统计看看这个最长的长度在不在所有的组里,如果在就符合……
#inclu...
分类:
其他好文 时间:
2014-08-15 17:55:29
阅读次数:
277
Description
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子...
分类:
其他好文 时间:
2014-08-15 17:54:09
阅读次数:
298
题意:有一个游戏,有n个回合,每回合可以在指定的2个区域之一放炸弹,炸弹范围是一个圈,要求每回合的炸弹范围没有重合。得分是炸弹半径最小的值。求可以得到的最大分数。思路:二分+2SAT。二分炸弹范围,再根据有无重合建图,用2SAT判定。#include #include #include #inclu...
分类:
其他好文 时间:
2014-08-15 17:17:49
阅读次数:
191