題意
傳送門 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,表示一條直線...