CCF 1394(連線格點)

2021-08-14 09:07:15 字數 624 閱讀 3732

題目鏈結

思路

並查集+貪心。

將二維壓縮成一維,如果有連線可以看作他們是乙個祖先(也可以說是親戚),如果沒有連線則把他們連在一起,先豎再橫,因為豎的代價更低。

**

#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屬...