几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是n...
分类:
其他好文 时间:
2015-03-22 00:09:19
阅读次数:
307
1 常见命名规则比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母...
分类:
其他好文 时间:
2015-03-22 00:08:19
阅读次数:
152
选取不同列不同行的N个数。。。明摆着叫你二分匹配二分答案,然后枚举边的范围并跑匈牙利,以此判断答案范围。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i...
分类:
其他好文 时间:
2015-03-17 21:49:00
阅读次数:
131
题目大意:
现在有5种型号(S、M、L、X、T)的衣服要发放给N个参赛队员。给出每个参赛者所需要衣服型号的范围。
在这个范围内的型号参赛者都能接受。再给出这5种型号衣服各自的数量,那么问题来了:是否存在一种
分配方案使得所有参赛队员都能够拿到自己型号范围内的衣服。
思路:
二分图匹配是一个对一个的匹配,这里是一对多匹配,需要用二分图多重匹配的模型来做。具体就是把原
先匈牙利算法中的cy[MAXN]更换为一个2维数组cy[MAXN][MAXN]。cy[i][j]表示与元素yi匹配的第j个元
素,同时用vey...
分类:
其他好文 时间:
2015-03-17 10:36:37
阅读次数:
123
题目大意:
有N只鼹鼠和M个洞穴,如果鼹鼠在S秒内不能够跑到洞穴,就会被老鹰捉住吃掉。鼹鼠跑的速度为V米/秒。
已知一个洞穴只能容纳一只鼹鼠。给你鼹鼠和洞穴的坐标,那么问题来了:问最少有多少只鼹鼠被老鹰捉住
吃掉。
思路:
建立一个二分图,一边为鼹鼠,另一边为洞穴枚举求出每只鼹鼠到各个洞穴的距离,把能够在S秒内跑到该
洞穴(距离<=S*V)的进行连边。建好图后用匈牙利算法求出最多有多少只鼹鼠能够幸免于难( MaxMatch() ),
那么剩下的N - MaxMatch()就是最少有多少只鼹鼠被老鹰捉住吃掉...
分类:
其他好文 时间:
2015-03-17 10:34:25
阅读次数:
134
题目地址:http://hihocoder.com/problemset/problem/1122
该题目的关键是2个问题:1点用bfs构造二分图
2:针对二分图的其中S中的结点,遍历找增广路(匈牙利算法求二分图的最大匹配)
每找到一条增广路就多找到了一条匹配。
代码如下:
/*
这题有两点需要注意:1点用bfs构造二分图
2:针对二分图的其中S中的结点,遍历找增广路(匈牙利...
分类:
编程语言 时间:
2015-03-15 23:07:16
阅读次数:
299
本次主要记录流网络以及最大流的简单概念(以后可能会将最大流的实现算法补充),重点讲解用匈牙利算法来求二分图的最大匹配。
1:流网络
流网络是G(V, E)是一个有限的有向图,它的每条边(u, v)
∈E都有一个非负值实数的容量c(u, v)≥0。如果(u,
v) 不属于E,我们假设c(u, v) = 0。我们区别两个顶点:一个源点s和一个汇点t.。并假定每个顶点均处于从源点到汇点的某条路...
分类:
编程语言 时间:
2015-03-15 21:20:41
阅读次数:
207
本文讲一下匈牙利命名法:
举两个例子:hInstance,szCmdLine。
这两个例子中,第一个变量的h表示handle,代表这个变量是一个句柄;第二个变量的sz表示这个变量是以0结尾的字符串,也就是C语言中,传统的字符串。
匈牙利命名法就是这样的,以一个表示这个变量类型的字母组合来表示这个变量的类型。其后的单词代表它的变量的意思。
匈牙利命名法的前缀表如下所示:
还有一种命...
二分图的匈牙利算法二分图的难点主要在建图;关于二分图的几个重要公式: 最大匹配数=最小点覆盖 最小边覆盖=顶点总数-最大匹配数/2 (这个要拆点:uN=vN=cnt,ans=cnt-hungary/2) 最大团=补图最大独立集 最大独立集=顶点数-最大匹配匈牙利算法:int link[maxn...
分类:
编程语言 时间:
2015-03-11 16:55:29
阅读次数:
122
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目描述: 在矩阵中放车,车可四面攻击,矩阵中有墙,可以防止攻击,给出墙的位置,输出最多可以放多少车;题目要点:dfs&二分图最大匹配(匈牙利算法)(这里是dfs) 本题在一开始作的时候陷入了贪心的...
分类:
其他好文 时间:
2015-03-11 00:34:07
阅读次数:
142