hdu4619 最大獨立集

2022-05-04 10:09:10 字數 630 閱讀 2488

題意,乙個矩陣,上面可以橫放或者豎著放骨牌(1x2)保證橫的與橫的不重疊,豎的和豎的不重疊,求拿掉最小的牌,使所有的都不重疊。

分析:一看,不重疊就是沒有邊,拿最少,就是留最多,最大獨立集啊!二分圖,n+m個-最大流(最大匹配)=ans。

簡單題。

#include#include#include#includeusing namespace std;

const int inf=0x3f3f3f3f;

const int maxv=2005,maxe=10001;

struct ka

;int n,m;int ss,tt;

ka xx[1005];ka yy[1005];

int nume=0;int e[maxe][3];int head[maxv];

void inline adde(int i,int j,int c)

int lev[maxv];int vis[maxv];

bool bfs()}}

return vis[tt];

}int dfs(int u,int minf)

void init()

int main()

return 0;

}

hdu 4619 最大匹配問題

思路 把所有涉及到的點按 x y 的奇偶分成兩部分點,對所有的1 2的骨牌,都有 x y 為偶數的建到奇數的邊。求一次最大匹配,就是答案。include include include include include define maxn 2010 using namespace std intm...

hdu 2768 最大獨立集

建圖很巧妙嗎,把每個孩子拆點,將有矛盾的兩個孩子之間連一條邊,當然還有反向邊,求出最大匹配 2 以為前面拆點且有反向邊所以求出最大匹配要除以2,然後用總人數減去即可 include include include define inf 0x3f3f3f3f define bug printf her...

最大獨立集 HDU 1068

題目大意 有n個人,兩個人之間有相互的關係,問最大的關係數目。思路 n 最大匹配數 2 因為這裡給出的是n個人之間的兩兩關係 看看會不會爆int 陣列會不會少了一維!取物問題一定要小心先手勝利的條件 include using namespace std define ll long long de...