二分匹配
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
hdu 1045 Fire Net 二分匹配
题目链接:Fire NetTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6890 Accepted Submission(s): 3894Problem DescriptionSuppos原创 2015-01-26 11:23:52 · 538 阅读 · 0 评论 -
hdu 1507 Uncle Tom's Inherited Land* 黑白棋盘 二分匹配
题意:问未标记为水潭的点最多可以放多少1*2的方块。把棋盘的每个 点横坐标和纵坐标相加,奇数点放二分图左侧,偶数点放右侧。然后历遍这个棋盘,把可以摆1*2的两个点进行匹配。然后最大匹配就是答案了。原创 2015-03-15 09:51:53 · 539 阅读 · 0 评论 -
URAL 1721. Two Sides of the Same Coin 二分匹配 构图
题意:有n个人,每个人各自会 statements 或者 testdata ,或者两种都会 anything 。 后面还有一个数字rank。 然后找最大匹配,要求,必须有个人会 statements 有个人会testdata。然后rank的差要正好是2。做法:因为rank差要2。 如 0 1 |2 3 | 4 5| 6 7,如果两个数两个数直接隔开当作一个格的话,可以发现只有奇数格和偶数格才有可能会匹配。所以可以把rank%4,如果等于0 1,放一侧,如果等于 2,3 放另一侧。然后计算最大匹配原创 2015-03-08 21:29:39 · 1053 阅读 · 0 评论 -
hdu 1498 50 years, 50 colors 二分匹配
题意:n*n的地图上有 1-50 种颜色的气球。 问哪几种颜色的气球不能在k步之内全部消灭掉。 每一步可以消灭一排或着一列 这种颜色的气球。做法:简单的二分匹配,每种颜色都进行一次二分匹配,最大匹配就是最小顶点覆盖,也就是需要消灭所有这种颜色的 最小步数。 和k比下大小就可以了。原创 2015-03-08 10:47:19 · 750 阅读 · 0 评论 -
hdu 5093 Battle ships 最大二分匹配
题意:选尽可能多*号点,要求选得点之间必须有#阻隔,否者不能在同一行或者同一列。做法:先要把竖向*和O相连的 都连成一起,并编号。然后是横着的也一样。然后把竖向的每一块 都看作二分图左边的每一个点,然后把横向的每一块 都看作二分图右边的每一个点,星号必会对应一个竖向的块 编号, 和一个横向的块编号。把每个星号对应的 两个编号连线。如果匹配了,就表示这两个块都被占据了,这两个块就不能再有其他星号点被连了。所以要知道最多有多少*可以放,就只用知道最多可以有几条边可以选。也就是求最大二原创 2015-05-05 22:06:25 · 742 阅读 · 0 评论