题意:N与P在玩游戏,N有 n1 个点,P有 n2 个点,N的点与P的点之间有 m 条无向边。将一个石子放在当中一点。N先移动石子。沿边移动一次,石子移动前的点及与该点相连的边被删除。接着到P移动石子,谁不能移动谁就输。对每一个初始位置输出胜负结果(1 ≤ n1; n2 ≤ 500, 0 ≤ m ≤ ...
分类:
其他好文 时间:
2017-07-30 19:03:56
阅读次数:
129
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择 矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的 ...
分类:
其他好文 时间:
2017-07-30 00:59:03
阅读次数:
221
这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。 二分图:简单来说,假设图中点能 ...
分类:
编程语言 时间:
2017-07-29 10:06:52
阅读次数:
216
最近学了二分图最大匹配,bfs模板却死活打不出来?我可能学了假的bfs 于是用到了dfs模板 寻找二分图最大匹配的算法是匈牙利算法 匈牙利算法的主要程序是寻找增广路 寻找增光路是过程是:从一个未经配对的点出发,历经未配边、匹配边、未配边、匹配边、未配边、...最终到达一个未配点的过程,只要把路径中的 ...
分类:
编程语言 时间:
2017-07-27 23:28:51
阅读次数:
257
上一篇文章中介绍了正向最大匹配。能够看到有时候效果不是非常好。这里在介绍一种逆向最大匹配的算法。词典和匹配的字符串都和上一篇文章同样 仅仅是本算法是从后到前搜索字符串。然后找到最长的匹配结果输出。上代码 package com; import java.util.ArrayList; import ...
分类:
其他好文 时间:
2017-07-27 12:48:36
阅读次数:
174
题意:就是求最大匹配 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<set> #include<map> #include<string> #include<cstring> #inc ...
分类:
其他好文 时间:
2017-07-26 00:02:36
阅读次数:
174
一、前人种树 博客:趣写算法系列——匈牙利算法 博客:二分图最大匹配 博客:二分图的最大匹配——匈牙利算法 二、题目讲解 博客:POJ1274:The Perfect Stall(二分图最大匹配 匈牙利算法) ...
分类:
编程语言 时间:
2017-07-25 19:42:26
阅读次数:
180
二分图最大匹配常用的匈牙利算法,之前写的很幼稚,虽然也过了,但是平白的比别人多开了两倍的空间。 本来就是在填加边的时候把左边的点和右边的点分开算都加在图里面储存,然后匹配的时候就互相匹配 match[u]=v; match[v]=u; 然后看了模板之后才发现其实完全不用加上,只记录match[v]= ...
分类:
其他好文 时间:
2017-07-24 21:22:18
阅读次数:
118
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 #include <iostream> #include <stdio.h> #include <string.h> using namespace std; int n; int used[50 ...
分类:
其他好文 时间:
2017-07-22 13:19:13
阅读次数:
151
POJ 3041 Bessie 驾驶着他的太空飞船呆呆2号在太空旅行,途径一段危险地带,他希望自己能安全通过这段区域,于是他将这片区域的地图扫描进入了太空飞船,地图是一个N x N的网络 (1 <= N <= 500),其中有K颗小行星 (1 <= K <= 10,000)。 还好Bessie有一个 ...
分类:
其他好文 时间:
2017-07-22 12:10:20
阅读次数:
201