思路:由於要求最少的時間,可以考慮二分,然後就是滿足在limit時間下,如果地球戰艦數目比外星戰艦數目多,就連邊,然後求最大匹配即可,判斷匹配數目是否等於外星球數目,如果相等,說明可以占領,繼續二分。
1 #include2 #include3 #include4 #include5 #include6view codeusing
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 }
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...