程式設計之美2 19區間重合判斷

2021-08-25 20:06:51 字數 685 閱讀 6252

/*

* 區間重合判斷

* 比如,給出待判斷區間[x,y]如[1,6],以及目標區間[x1, y1],[x2,y2]....[xi, yi](如[2,3] [1,2] [3, 9]),

* 判斷[1,6]是否在目標區間中

* * 做法: 先把根據各個目標區間的第乙個元素xi排序(可用快排),然後將目標區間中可以合併的區間進行合併,然後

* 在目標區間的xi中用二分查詢來找待判斷區間中的x,然後再判斷y

* */

#include using namespace std;

//sort

int partation(int low,int high,int *a,int *b) //對區間進行二次排序

d[temp]=b[length-1];

number=temp+1;

for(i=0;i<=temp;i++) //這裡的c[i]與d[i]構成合成後的區間

cout<=y)

return true;

else return false;

} while(begin<=end)

bool projection(int *a,int *b,int n,int x,int y)

int main()

程式設計之美2 19 區間重合判斷

題目 給定乙個源區間 x,y y x 和n個無序的目標區間 x1,y1 x2,y2 x3,y3 xn,yn 判斷源區間 x,y 是不是在目標區間內?例如,給定源區間 1,6 和一組無序的目標區間 2,3 1,1 3,9 即可認為區間 1,6 在區間 2,3 1,1 3,9 內,因為目標區間實際上是 ...

程式設計之美 2 19 區間重合判斷

題目大意 給定源區間 x,y x y 和 n個無序的目標區間 xi,yi 1 i n 判斷源區間是否在目標區間內。分析 書中介紹了兩種解法。第一種 將目標區間投影到源區間,看最終未被覆蓋的區間是否變為。這種方法的複雜度無疑是很高的。o n 2 另外,對於k組源區間查詢,其複雜度是單次的k倍。第二種 ...

程式設計之美 2 19 區間重合判斷

給定乙個源區間 x,y y x 和n個無序的目標區間 x1,y1 x2,y2 xn,yn 判斷源區間 x,y 是不是在目標區間內 eg,給定乙個源區間 1,6 和一組無序的目標區間 2,3 1,2 3,9 即可認為 1,6 在區間 2,3 1,2 3,9 內 因為目標區間合併之後,實質為 1,9 i...