簡單的計算幾何題,判斷兩線段是否相交。將相交的兩線段使用並查集歸到一類中。查詢時輸出線段對應集合中元素的個數。
#includestruct point;
struct segmentnode[1010];
int n,parent[1010];
int getabs(int value)
int getparent(int a)
void union(int a,int b)
double min(double a,double b)
/**
* 計算向量 ps,pe的叉積
*/double multiply(point p,point s,point e)
int main()
}}else
}if(t!=0)
}return 0;
}
hdu 1558 線段相交判斷 並查集
2535437 2010 06 12 00 42 04 accepted 1558 109ms 256k 2695 b c t t include include include using namespace std struct point struct sdlxd 1002 int p 100...
hdu1558並查集 線段相交
hdu1558 關於線段相交的內容參考演算法導論p577 include include includeusing namespace std int pre 1010 sum 1010 struct point struct edge edge 1010 int e 邊數 int find int...
hdu 1558 線段相交 並查集
題意 給你一些操作,p後邊輸入四個值,分別代表一條線段的起點 終點座標,當輸入q時,後邊輸入乙個整形值k,輸出第k條線段所在的集合中包含的線段的個數。解題思路 線段相交 並查集,sum i 表示i所在的線段集合中,i為根節點的線段總數。在合併時可以更新。include includeusing na...