2150 部落戰爭

2021-08-04 20:21:15 字數 677 閱讀 3002

題目鏈結

題目大意:給出一張地圖,乙個軍隊要征戰整個土地。一塊土地只能經過一次,有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.每支軍隊可以從任意乙個城鎮出發,並只能從...