NC 17881 座標離散化 並查集

2021-10-08 02:45:45 字數 1102 閱讀 4475

題意

傳送門 nc 17881

題解考慮到程式**現的變數 x1,

x2,x

3…

x1,x2,x3\dots

x1,x2,

x3… 取值較大,進行座標離散化。先處理相等的變數,用並查集維護;對於不相等的變數,判斷是否位於同乙個連通分量即可。

#include

using

namespace std;

#define maxn 100005

int t, n, u[maxn]

, v[maxn]

, e[maxn]

;int par[maxn <<1]

, rnk[maxn <<1]

;void

init

(int n)

}int

find

(int x)

bool

same

(int x,

int y)

void

unite

(int x,

int y)

}void

compress

(int

*x,int

*y)sort

(xs.

begin()

, xs.

end())

; xs.

erase

(unique

(xs.

begin()

, xs.

end())

, xs.

end())

;for

(int i =

0; i < n; i++)}

intmain()

compress

(u, v)

;for

(int i =

0; i < n; i++)}

bool f =1;

for(

int i =

0; i < n; i++)}

}puts

(f ?

"yes"

:"no");

}}

AOJ 0531 座標離散化

塗色 日文題目,自己翻譯成了中文 為了宣傳資訊競賽,要在長方形的三合板上噴油漆來製作招牌。三合板上不需要塗色的部分預先貼好了護板。被護板隔開的區域要塗上不同的顏色,比如上圖就應該塗上5種顏色。請編寫乙個程式計算塗色數量,輸入資料中,保證看板不會被護板全部遮住,並且護板的邊一定是水平或垂直的。輸入 第...

AOJ 0531 座標離散化 bfs

題意 傳送門 aoj 0531 矩形的寬和高 1 w,h 1000000 資料範圍大,要離散化處理。對於劃分區域,bfs 即可 遞迴實現可能棧溢位 填充陣列 fld x y 代表左下角頂點座標離散表示為 x,y 的 1 1 矩形。include include include include inc...

《挑戰程式設計競賽》P164 座標離散化

問題描述 w h的格仔畫了n條或垂直或水平寬度為1的直線,求出這些格仔被劃分成了多少個4連塊 上 下 左 右連通 輸入格式 第一行包含兩個整數 w和h,表示矩陣的列數和行數 行列編號都從1開始 第二行包含乙個整數n,表示有n條直線。接下來的n行,每行包含四個整數 x1,y1,x2,y2,表示一條直線...