BZOJ2140 穩定婚姻

2021-07-22 13:30:47 字數 937 閱讀 2873

暴力點的我們可以每次拆一對然後跑匈牙利看看能不能跑出來,可以過……

然後我們發現匈牙利能跑出來的條件是有乙個環,所以tarjan就可以了

#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define maxn 4010

#define maxm 40010

#define eps 1e-8

#define ll long long

#define inf 1000000000

#define mod 1000000007

struct vec;

vec mp[maxm];

int tai[maxn],cnt=1;

int n,m;

maph;

int st[maxn],tp;

bool ist[maxn];

int siz[maxn],bel[maxn];

int tot;

int dfn[maxn],low[maxn],tim;

inline void be(int x,int y)

inline void bde(int x,int y)

void dfs(int x,int f)else if(ist[y])

} if(low[x]==dfn[x]) }}

int main()

scanf("%d",&m);

for(i=1;i<=m;i++)

for(i=1;i<=n;i++)

} for(i=1;i<=n;i++)else

} return 0;}/*

*/

bzoj 2140 穩定婚姻

查詢二分圖每一條邊是否一定在二分圖最大匹配上 首先任意乙個最大匹配,然後把兩個匹配點縮成乙個點,然後用這個圖跑強連通分量,如果乙個點所在的強連通分量大小大於1,那麼說明原圖存在一條匹配邊 非匹配邊 匹配邊 非匹配邊的環,所以這些邊不一定在最大匹配上。include include include i...

BZOJ 2140 穩定婚姻

time limit 2 sec memory limit 259 mb submit 771 solved 359 submit status discuss 第一行為乙個正整數n,表示夫妻的對數 以下n行,每行包含兩個字串,表示這n對夫妻的姓名 先女後男 由乙個空格隔開 第n 2行包含乙個正整數...

BZOJ 2140 穩定婚姻

2140 穩定婚姻 time limit 2 sec memory limit 259 mb submit 911 solved 422 submit status discuss description input 第一行為乙個正整數n,表示夫妻的對數 以下n行,每行包含兩個字串,表示這n對夫妻的...