摘要:
此题是我AC的HDU的201道题目。泪流满面啊! 字典序最大(最小)真是个烦人的东西。 学生i与其对应的分数区间的每个点连一条边。字典序最大,编号最大的学生开始匹配。 HK无法AC啊,试了很久。我不会说,能过样例。 最后用了DFS版的匈牙利算法过了。人们说这个代码简洁。不过我一般都用HK... 阅读全文
摘要:
对于什么是DAG最小路径覆盖以及解题方法在我的另外的博客已经有了。http://www.cnblogs.com/Potato-lover/p/3980470.html 此题的题意: 公交车(出租车)车站有一个固定的发车时间,有二维起点和终点,花费的时间是两点的曼哈顿距离,即|x1-x2|... 阅读全文
摘要:
题目分析: 一个人要不是爱狗讨厌猫的人,要不就是爱猫讨厌狗的人。一个人喜欢的动物如果离开,那么他也将离开。问最多留下多少人。 思路: 爱猫和爱狗的人是两个独立的集合。若两个人喜欢和讨厌的动物是一样的,那么就建一条边。留下多少人,就是求最大独立集。 最大独立集= 顶点数 - 最... 阅读全文
摘要:
此题就是求最大匹配。不过需要判断是否构成二分图。判断的方法是人选一点标记为红色(0),与它相邻的点标记为黑色(1),产生矛盾就无法构成二分图。声明一个vis[],初始化为-1。通过深搜,相邻的点不满足异或关系就结束。如果没被标记,就标记为相邻点的异或。 1 #include 2 #inc... 阅读全文
摘要:
题目大意: 在 n*m在矩阵中,有一些点被标记为黑色,问可以多少对相邻的没有重复的白色块。思路: 看上去与二分匹配毫无关系。但是没有其他好的解法,转化为二分匹配是正解。二分匹配的条件是{X,Y|E}, X(Y)集合内的元素没有关系。这题可以把i+j为奇数归为X,偶数则归为Y。从头开始扫描,只要某... 阅读全文
摘要:
二分图模型中的最大独立集问题:在二分图G=(X,Y;E)中求取最小的顶点集V* ⊂ {X,Y},使得边 V*任意两点之间没有边相连。 公式: 最大独立集顶点个数 = 总的顶点数(|X|+|Y|)- 最大匹配数 poj3692 题意:幼儿园有G个小女孩和B个小男孩,小女孩彼此之间互相认识,小... 阅读全文
摘要:
有向无环图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次)。 最小路径覆盖就是找出最小的路径条数,使之成为原图的一个路径覆盖。 公式:最小路... 阅读全文
摘要:
二分图模型中的最小顶点覆盖问题:在二分图G=(X,Y;E)中求取最小的顶点集V* ⊂ {X,Y},使得边 e ∈ E都至少有一个顶点 v ∈ V*相关联。 简单地说,最小点覆盖就是从图G的顶点中取最少的点组成一个集合,使得图中所有的边都与取出来的点相连。 有一定理:最小顶点覆盖问题与最大匹配... 阅读全文
摘要:
题目大意: 在一个有向图中,求经过所有点的最小圈。 思路: (如果是用二分图的完美匹配来做,那么直接上模版就好了)。http://www.cnblogs.com/Potato-lover/p/3991640.html 用最小费用最大流的思路如下: 首先是每个点都只能走一... 阅读全文
摘要:
虽然题目求的是最大费用,但是我们可以通过转换就变为最小费用。用一个比最大值更的数与每个数的差作为费用值。最后处理回来就i可以了。有些人用直接每个值都乘以-1,这样更简单。 做这题,我对为什么不拆点就会错这个问题想了很久,也问了一些人。最后得出了一些知识。 在《挑战程序设计竞赛》的214页有讲... 阅读全文