//題目連線:
//這個題目注意..遍歷的點是全部的點.而並不是類似前面的題目一樣僅僅是遍歷x,y其中的乙個集合..
//對於這樣的題目來說的話.做法一就是變成比較標準的二部圖的形式,外部遍歷x,內部遍歷y..
//如果直接在內部和外部都對x+y的集合進行遍歷的話..對於單向邊來說的話,求出來的結果是最大匹配..
//但是對於雙向邊來說的話,求出來的邊是最大匹配*2...要注意這點..!
#include
#include
#include
#include
const int inf = 0x3f3f3f;
const int mn = 600;
int ppx[mn],ppy[mn],n;
bool mk[mn],map[mn][mn];
bool vis[mn];
bool path(int x)}}
return 0;
}int maxmatch()
}return ans;
}int main()
}int ans = maxmatch();
//ans = n - ans/2;
printf("%d\n",ans);}}
poj 1466(最大獨力集)
證明 最大獨立數 未匹配的節點 匹配數 2 1 設n 匹配數 2,可以理解為去掉二分圖某側匹配好的n個節點,在另一側對應的n個節點就沒有相匹配的了 而 未匹配的節點 頂點數 匹配數 2 由 1 2 得 最大獨立數 頂點數 匹配數的一半1 file name 1466.cpp2 author miss...
POJ 3020 匈牙利演算法 狀壓DP
大致題意 h w 的網格中有一些點,需要用天線覆蓋。乙個天線只能覆蓋橫向或豎向相鄰的 2 個點。求使用天線的最少數量。1 h 40,0 w 10 匈牙利演算法 匈牙利演算法即搜尋交錯路 未匹配邊 匹配邊 未匹配邊 求最大匹配,更通俗一點就是,當需要匹配的點原來的匹配點可以匹配其他的點時,可以進行匹配...
匈牙利演算法之hdu1150
題目大意 有ab兩種機器,分別有很多種工作狀態.如果從一種狀態換到另外一種狀態的話.需要重啟機器.現在給乙個關係.表示任務i可以用a中的乙個機器或者是b中的乙個機器來完成.求最小的重啟次數.完成所有任務.題目連線 思路 由於每個任務都可以用a或b機器的某種工作狀態來完成,因此,對於每個任務,可以把a...