hdu 2413 最大匹配 二分)

2021-09-08 09:34:56 字數 1042 閱讀 7762

思路:由於要求最少的時間,可以考慮二分,然後就是滿足在limit時間下,如果地球戰艦數目比外星戰艦數目多,就連邊,然後求最大匹配即可,判斷匹配數目是否等於外星球數目,如果相等,說明可以占領,繼續二分。

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7#define maxn 333

8#define inf 1<<20

9 typedef long

long

ll;10 vectormap[maxn];

11int

mark[maxn];

12int

ly[maxn];

13int

hp[maxn],hq[maxn];

14int

ap[maxn],aq[maxn];

15int

tt[maxn][maxn];

16int

n,m;

1718

int dfs(int

u)1928}

29}30return0;

31}3233

bool maxmatch(int

limit)

3442}43

int res=0

;44 memset(ly,-1,sizeof

(ly));

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

49if(res==m)return

true;50

return

false;51

}5253int

main()

54else

71 low=mid+1;72

}73if(ans

76 puts("

impossible");

77}78return0;

79 }

view code

hdu2413 二分 二分匹配

題意 地球和外星球大戰,地球有n個飛船,外星球有m個飛船,每個飛船有自己的其實戰艦和戰艦增長率,星球於星球之間有距離,問你最少多少年地球可以打敗外星球,每個星球最多只能和乙個星球對戰.思路 題意的最後一句話告訴我們這個題目滿足二分圖,我們可以二分列舉多少年打敗,每次都重新建圖,對於h i 和 a j...

HDU 2236 無題II 二分 最大匹配

題目 problem description 這是乙個簡單的遊戲,在乙個n n的矩陣中,找n個數使得這n個數都在不同的行和列裡並且要求這n個數中的最大值和最小值的差值最小。input 輸入乙個整數t表示t組資料。對於每組資料第一行輸入乙個正整數n 1 n 100 表示矩陣的大小。接著輸入n行,每行n...

HDU 2236 無題II 二分 最大匹配

題意 在乙個n n的矩陣中,找n個數使得這n個數都在不同的行和列裡並且要求這n個數中的最大值和最小值的差值最小。分析 二分列舉差值,如果滿足完全匹配則該差值符合。include include define clr x memset x,0,sizeof x int g 105 105 int li...