有一些人,他們可能認識可能不認識,認識的人可以把自己的床給別人睡,有些人不需要床,有些人有床,請問能否讓所有需要睡覺的人都有一張床,如果可以輸出乙個奇怪的字元,如果不可以輸出另乙個奇怪的字元
毫無疑問,這是乙個二分圖最大匹配的裸題,照理說本來是應該用匈牙利的,但是因為要求聯絡最大流,所以就打了這個**
這道題最大流的核心在於建圖,其它的套板子就行了!
#include
#include
#include
#define min(a,b) a#define n 5001
#define pyes printf("^_^\n")
#define puno printf("t_t\n")
using
namespace
std;int f,p,k,n;char c;
int read()
struct nodee[n];int l[n],tot,d[n],s=0,t=1001,sum;bool a[n],x;
void qk()
void add(int u,int v,int w)
bool bfs()}}
return
false;
}int dfs(int x,int flow)
}if(!rest) d[x]=0;
return rest;
}int dinic()
int main()
for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(dinic()==sum) pyes;else puno;
}}
模板 EK求最大流 dinic求最大流
acm模板 yxc老師的部分總結 基本概念 1.1 流網路,不考慮反向邊 1.2 可行流,不考慮反向邊 1.2.1 兩個條件 容量限制 流量守恆 1.2.2 可行流的流量指從源點流出的流量 流入源點的流量 1.2.3 最大流是指最大可行流 1.3 殘留網路,考慮反向邊,殘留網路的可行流f 原圖的可行...
Dinic ISAP求最大流
給定乙個包含 n 個點 m 條邊的有向圖,並給定每條邊的容量,邊的容量非負。圖中可能存在重邊和自環。求從點 s 到點 t的最大流。輸入格式 第一行包含四個整數 n,m,s,t。接下來 m 行,每行三個整數 u,v,c,表示從點 u 到點 v 存在一條有向邊,容量為 c。點的編號從 1 到 n。輸出格...
棋盤覆蓋 最大流求解最大匹配
乙個二分圖最大匹配的問題,依然是分成兩部分,數字座標和為奇數的為一部分,和為偶數的為另一部分。這兩部分各自內部沒有連線,可以作為二分圖。二分圖最大匹配可以用最大流解決。可以引進乙個源點s ss,從s ss出發向二分圖的左部分連線 有向邊 把從左部分連向右部分的雙向邊換成從左連向右邊的單向邊,然後從二...