Hall定理
文章平均质量分 59
DZYO
Never stop
展开
-
NOI模拟:保镖(Hall定理)
题意: 给一个二分图,找出满足以下条件的点集的个数: 1.该点集是原点集的子集。 2.该点集是一个匹配的点集的子集。 (n ≤ 20)题解: 首先任意匹配的点集一定是一个最大匹配的子集。 题意转化为找出是最大匹配的子集的点集个数。由Hall定理,对于一边的点而言,如果一个点集的任意子集满足在一个最大匹配中,而且这个点集满足连接的点≥这个点集的大小,那么这个点集一定在最大匹配中。同理,对原创 2017-09-10 17:51:19 · 655 阅读 · 0 评论 -
BZOJ3693:圆桌会议(Hall定理)
传送门题解: 按照题意,先把所有的人放在左边,所有的桌子。,如果有完备匹配就可以,否则就不可以。显然直接匈牙利是会超时的。考虑二分图完备匹配的充要条件是满足Hall定理。那么问题转化为:对于任意人的子集XX,连向的桌子个数≥|X|\ge |X|。先考虑链的情况: 此时的人的子集如果没有包含某个条件的完整的aia_i,那么此可以扩展至包含这个条件的所有aia_i(因为aia_i的连边都相同),而对原创 2017-12-16 22:33:36 · 1338 阅读 · 0 评论 -
Codechef:Expected Maximum Matching/MATCH(Hall定理)
传送门题解:利用Hall定理来判断每个左边集合是否满足有完美匹配。这样是O(22n)O(2^{2^n})O(22n)的,不过有用状态很少。#include <bits/stdc++.h>using namespace std;typedef unsigned int uint;int n,m,lim,y,tot;double p[6][105];uint bin[3...原创 2018-10-16 16:40:58 · 346 阅读 · 0 评论