POJ 3014 Asteroids 最小點覆蓋

2022-05-05 05:48:07 字數 627 閱讀 5519

很基礎的最小點覆蓋題目,把x,y座標軸上的點分別看做x集合和y集合,然後如果有asteroid就連邊,很容易看出就是把所有的邊覆蓋,即用最少的點覆蓋所有的邊。

最小點覆蓋=最大匹配數

1

//status:g++_ac_47ms_668kb

2 #include3 #include4 #include5 #include

6 #include

7#define ll __int64

8const

int max=510,inf=1000000000;9

10bool

g[max][max];

11int

vis[max],y[max],ok[max];

12int

n,m;

1314

int dfs(int

u)1525}

26return0;

27}2829

intmain()

3042

43for(i=ans=0;i)

4849 printf("

%d\n

",ans);50}

51return0;

52 }

POJ 3041 Asteroids(最小點覆蓋)

poj 3041 asteroids 題意 給出m個點的所在行列,每次可以選擇清除一行或者一列,問清除這些點的最小操作次數是多少?分析 將所有點的行看成一組,所有的點列看成一組,對每個點的行和列建一條邊,每條邊就代表乙個點,清除一行或者一列可以看成選擇二分圖中的乙個點,清除所有的點,就相當於選擇二分...

POJ 3041 Asteroids 最小點覆蓋

題意 用最少的射擊來消滅圖中的小行星。關鍵是建圖轉化,建乙個 橫座標到縱座標的二分圖,有障礙的點的位置上的值賦值為1,然後根據題意求的是二分圖的最小點覆蓋數,根據乙個定理,知道最小點覆蓋數 最大匹配數 ac include include include include include includ...

POJ 3041 Asteroids(最小點覆蓋)

題意 在乙個網格中有若干個點,每一次可以一下子清除一行或者一列,問最少幾次可以將網格中的點全部清除。通過每個點建立橫座標與縱座標的連線 即建邊 將橫座標和縱座標看做二分圖中的點,選擇最少的點來覆蓋所有的邊。include include include include include include...