【逻辑推理】 跑道赛跑决名次 & 二分图

来源:互联网 发布:淘宝直播抢红包软件 编辑:程序博客网 时间:2024/04/28 06:16

# 25个人, 每5人1个跑道, 最少经过几次赛跑, 得到前3名 #

今天突然看到别人的博客中说到这个问题,然后觉得挺有趣的,就仔细想了想,由于身边没有纸笔恼火了5分多钟,最终终于想到了最终的答案,特记录于此,答案为7次。


*具体如下:

5》 25个人分为五组进行比赛,决出每组的第一名

6》 用这五个第一名进行一次比赛,依照顺序称呼为A、B、C、D、E

7》 由于需要前三名,所以D、E所在的组已经没有意义了(他们组的人都比他们慢),

B、C 与 A所在组的第二名第三名(可能A所在组的前三名就是25人中的前三名),

再加上B所在组的第二名(可能为A、B + B组第二),五人进行比赛,决出的前两个即为25人中的第二与第三。


答毕,综上所述,共为7次。


# 微信用户都是双向的好友,a是b的好友,那么b一定是a的。给定一个用户列表,有些用户是好友,有些不是 #

# 请判断,这些用户是否可以划分为两组,每组内的用 户,互相都不是好友。如果能,请给出这个划分 #

然而同一篇博文下又看到了这个,顺手也放在这里写下

很明显:【二分图】

无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。

对于这一点,网络上的证明如下:

证先证必要性。
设G为二分图<X,E,Y>。由于X,Y非空,故G至少有两个顶点。若C为G中任一回路,令
C = (v0,v 1,v2,…,v l-1,v l = v0)
其中诸vi (i = 0,1,…,l)必定相间出现于X及Y中,不妨设
{v0,v2,v4,…,v l = v0} &Iacute; X
{v1,v3,v5,…,v l-1} &Iacute; Y
因此l必为偶数,从而C中有偶数条边。
再证充分性。
设G的所有回路具有偶数长度,并设G为连通图(不失一般性,若G不连通,则可对G的各连通分支作下述讨论)。
令G的顶点集为V,边集为E,现构作X,Y,使<X,E,Y> = G。取v0&Icirc;V,置
X = {v | v= v0或v到v0有偶数长度的通路}
Y = V-X
X显然非空。现需证Y非空,且没有任何边的两个端点都在X中或都在Y中。
由于|V|≥2并且G为一连通图,因此v0必定有相邻顶点,设为v1,那么v1&Icirc;Y;故Y不空。
设有边(u,v),使u&Icirc;X,v&Icirc;X。那么,v0到u有偶数长度的通路,或u = v0;v0到v有偶数长度的通路,或v = v0。无论何种情况,均有一条从v0到v0的奇数长度的闭路径,因而有从v0到v0的奇数长度的回路(因从闭路径上可能删去的回路长度总为偶数),与题设矛盾。故不可能有边(u,v)使u,v均在X中。

P.S. 对于二分图匹配,有个比较常用且容易理解的算法叫做匈牙利算法。


0 0
原创粉丝点击