思路:
---說給自己
一開始想的是從1-h*w標記整幅圖,建圖是星號和 建邊,肯定要去匹配"*"啊,所以空格一定不會去造,然後就理解成了最小點覆蓋,然而對於最小點覆蓋,對於 孤立點(也就是沒有連出去的邊) ,這樣就錯了。。。但是對於這個思路還是打完了,然後發現錯了。。。其實對於「正確」思路要先想想是嘛。。。
---正解
這題題意是乙個圈最多只能圈兩個" * ",那麼完全可以理解乙個圈就是一條線,連了兩個星號,那麼直接星號和星號建邊,記得建雙向。求乙個最小路徑覆蓋,這裡因為是雙向路徑多了一倍,answer=num-path_num/2;
貼一發挫**;
#include #include #include #include #include #include #include #include #include #include using namespace std;
#define inf 0x3f3f3f
#define pi acos(-1.0)
#define ll long long
int ma[1010][1010];
int cx[1010],cy[1010];
int vis[1010];
int dx[4]=;
int dy[4]=;
int id_num[45][15];
char s[45][15];
int n,m;
int num;
void init()
}}int find_path(int u)}}
return 0;
}int solve()
return ans;
}int main()
{ int t;
scanf("%d",&t);
while(t--)
{scanf("%d%d",&n,&m);
for(int i=0;i
poj 3343 二分匹配 二分
題意 n個人類星球和m個外星人星球,每個星球 包括外星人的 都有乙個初始的飛船數sh1 i 還有乙個每年生產的飛船數p i 還有乙個n m的矩陣d,d i,j 表示從人類星球i到外星人星球j的年數 年啊 當乙個人類星球i可以擊敗乙個外星人星球j的唯一條件是在出發年數ye,ye d i,j p i s...
POJ2446 二分匹配
題意 給你乙個n m的格仔,問你能不能用1 2的格仔把他鋪滿,有的位置是不能被鋪的。思路 水題,直接把個相鄰的並且都是可以鋪的點連一條邊然後匹配一遍就行了,提醒乙個地方,就是輸入不能鋪的座標的時候是 先輸入列再輸入行。include include define n node 1500 define...
POJ3692 二分匹配
題意 有男生女生,男生都認識雙方,女生都認識雙方,給出一些男女關係,問最大拿多少個人,使得所有人都認識雙方。思路 原圖最大團 總結點數 補圖 補圖為二分圖 的最大獨立集 最大完全子圖的頂點數 include include include includeusing namespace std typ...