題目鏈結
題目大意:給出一張地圖,乙個軍隊要征戰整個土地。一塊土地只能經過一次,有x的地方不能走,軍隊只會走r*c個格仔,只會向下走,問最少需要多少軍隊能夠征戰所有的土地
題解:比較*****的dag最小路徑覆蓋,把可行點連邊,搞成二分圖就好了
我的收穫:水啊
#include
#include
#include
using
namespace
std;
#define m 2607
int m,n,r,c,cnt;
int lik[m],id[55][55];
bool mp[m][m],vis[m];
char s[55][55];
bool hungary(int x)
return
false;
}void work()
cout
,dy=;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(s[i][j]=='.')
for(int k=0;k<4;k++)
}void init()
build();
}int main()
BZOJ P2150 部落戰爭
清明節也不能懈怠 雖然已經打了好久了隔膜了 但是你說不做題目也是不行的啊 今天學了乙個公式 dag的最小路徑覆蓋數 dag圖中的節點數 相應二分圖中的最大匹配數.感覺網上的證明也不太好,yy了一下自己的證明 我的證明是這樣的 先說怎麼做 直接每個dag上的點拆點然後建二分圖,原點和s連,然後拆出的點...
bzoj2150 部落戰爭
lanzerb的部落在a國的上部,他們不滿天寒地凍的環境,於是準備向a國的下部征戰來獲得更大的領土。a國是乙個m n的矩陣,其中某些地方是城鎮,某些地方是高山深澗無人居住。lanzerb把自己的部落分成若干支軍隊,他們約定 1.每支軍隊可以從任意乙個城鎮出發,並只能從上往向下征戰,不能回頭。途中只能...
BZOJ2150 部落戰爭
bzoj2150 部落戰爭 lanzerb的部落在a國的上部,他們不滿天寒地凍的環境,於是準備向a國的下部征戰來獲得更大的領土。a國是一 個m n的矩陣,其中某些地方是城鎮,某些地方是高山深澗無人居住。lanzerb把自己的部落分成若干支軍隊,他們 約定 1.每支軍隊可以從任意乙個城鎮出發,並只能從...