題目鏈結
思路
並查集+貪心。
將二維壓縮成一維,如果有連線可以看作他們是乙個祖先(也可以說是親戚),如果沒有連線則把他們連在一起,先豎再橫,因為豎的代價更低。
**
#include#define r(i,a,b) for (int i=a;i<=b;i++)
using namespace std;
int f[1000002];//1000*1000
int n,m,x,y,k,ans;
int x1,y1,x2,y2;
int find(int x)//並查集
void read(int &f)//輸入流
int main()
//連在一起,同時連線總數+1
} r(j,1,m)//先豎
r(i,1,n-1)//後橫,如果不減一那麼最後一行時會跑出去
//連起來,連線數+1,ans+1
} r(i,1,n)//接著是行的
r(j,1,m-1)
//連起來
} printf("%d",ans);//輸出
}
Fzoj1616連線格點
fzoj1616連線格點 題目描述 有乙個m行n列的點陣,相鄰兩點可以相連。一條縱向的連線花費乙個單位,一條橫向的連線花費兩個單位。某些點之間已經有連線了,試問至少還需要花費多少個單位才能使所有的點全部連通?輸入 第1行 輸入兩個正整數m和n。以下若干行每行四個正整數x1 y1 x2 y2,表示第x...
AcWing 1144 連線格點
題目描述 有乙個 m 行 n 列的點陣,相鄰兩點可以相連。一條縱向的連線花費乙個單位,一條橫向的連線花費兩個單位。某些點之間已經有連線了,試問至少還需要花費多少個單位才能使所有的點全部連通。輸入格式 第一行輸入兩個正整數 m 和 n。以下若干行每行四個正整數 x1,y1,x2,y2,表示第 x1 行...
六 連線模式 1) 連線簡介
可以借用 sql 的連線來解釋 假設 表a 表b 內連線 a.name b.name 儲存共有的相同值屬性 外連線 左外連線 以 外來鍵表a 左 屬性為基準。包含a屬性整列。b屬性符合a屬性值的存入,其餘b屬性被置為 null。右外連線 以 外來鍵表b 右 屬性為基準。包含b屬性整列。b屬性符合a屬...