題意:給定一張圖,圖中的每個數代表一種顏色的氣球
求:哪種顏色的氣球不能在k次中被消滅( 每次只能消滅一行或者一列 )
二分匹配:按照題意來分析 就是要尋找一種消滅方法 使得所有同種氣球被消滅 這就符合了最小點覆蓋的意義
當所有的點(在這裡也就是氣球的行號和列號 ) 被覆蓋,也就是所有的行號和列號被覆蓋
最小點覆蓋=最大匹配
view code
1 #include2 #include3 #include4 #include5 #include6 #include7
using
namespace
std;
8const
int maxn = 55;9
const
int maxm = 105;10
intcnt[ maxn ];
11int
mat[ maxm ][ maxm ];
12void
init()
16int
n,k;
17int
vis[ maxm ],link[ maxm ];
18int dfs( int now,int
c )27}28
}29return0;
30}3132
int km( int
c )39
return
ans;40}
4142
intmain()50}
51int
num[ maxn ];
52int cnt=0;53
for( int i=1;i<=50;i++)58}
59if( cnt==0
)60 printf("
-1\n");
61else67}
68return0;
69 }
二分 二分匹配
給了乙個矩陣 n行m列 選n個數 要保證這n個數不在同行同列,計算出第k大的數最小 二分答案,然後我們對於每個a i j mid的我們就i和j建立一條邊 然後二分求最大匹配必須大於等於n k 1 因為是第k大 而不是第k小 坑了好久才發現 include include include includ...
hdu2413 二分 二分匹配
題意 地球和外星球大戰,地球有n個飛船,外星球有m個飛船,每個飛船有自己的其實戰艦和戰艦增長率,星球於星球之間有距離,問你最少多少年地球可以打敗外星球,每個星球最多只能和乙個星球對戰.思路 題意的最後一句話告訴我們這個題目滿足二分圖,我們可以二分列舉多少年打敗,每次都重新建圖,對於h i 和 a j...
hdu 1150 二分匹配
題意 給出a,b兩台機器,並且各自的工作方式有 種,給出k個任務,及其第ki個任務能夠在a,b機器上完成方式,ai,bi 機器每更換一次工作方式花費時間 1,求最小花費!思路 由於剛學二分匹配,行列匹配法,1a,有點yy。include include include includeusing na...