對每乙個長方體的座標離散化處理 假想空氣對空氣bfs求聯通
#includeusing namespace std;
const int maxn = 50 + 5;
const int maxc = 1000 + 1;
int n;
int x0[maxn], y0[maxn], z0[maxn], x1[maxn], y1[maxn], z1[maxn];
int xs[maxn*2], ys[maxn*2], zs[maxn*2], nx, ny, nz;
int color[maxn*2][maxn*2][maxn*2];
int dx = ;
int dy = ;
int dz = ;
struct cell
void setvis() const
int volume() const
cell neighbor(int i) const
bool valid() const }}
v = maxc*maxc*maxc - v; //雕塑體積 == 整個空間的體積-雕塑外圍體積
}void discretize(int* x, int& n) //對每一維進行離散化
int id(int* x, int n, int x0) //找到原座標離散化後的新座標
int main()
discretize(xs, nx), discretize(ys, ny), discretize(zs, nz);//排序加去重
memset(color, 0, sizeof(color)); //染色
for (int i = 0; i < n; i++) //對於每乙個長方體,以左閉右開的方式標記,以點帶體}}
}int s, v;
floodfill(s, v);
printf("%d %d\n", s, v);
}return 0;
}
UVA 11624(簡單bfs 初始化)
uva題目鏈結 vj題目銜接 題目大意 火每次四個方向延伸,問人能否跑出這個迷宮,也就是人能走的格仔必須在火延伸到那裡之前。注意 fire火堆並不是只有乙個,可以有多個fire。但j只有乙個。思路 廣搜每個f,初始化time陣列,也就是為後面j是否可以走到這個格仔上做準備 也就是stemp x y ...
HDU5124,線段樹加離散化
水題乙個,但是由於自己太弱還是寫了很久,線段樹的理解不是很好,到現在也不是很懂pushdown的精髓,只會照貓畫虎,接下來的一段日子裡打算做水題的同時穿插做一些資料結構。這道題的離散化很簡單,就是對於出現過的點排序即可,可以用map之類的隨便搞一下,據說這個題有貪心演算法,希望學習一下。最後也是壓時...
AOJ 0531 座標離散化 bfs
題意 傳送門 aoj 0531 矩形的寬和高 1 w,h 1000000 資料範圍大,要離散化處理。對於劃分區域,bfs 即可 遞迴實現可能棧溢位 填充陣列 fld x y 代表左下角頂點座標離散表示為 x,y 的 1 1 矩形。include include include include inc...