亞特蘭蒂斯 掃瞄法

2021-10-02 20:41:49 字數 2127 閱讀 8526

有幾個古希臘書籍中包含了對傳說中的亞特蘭蒂斯島的描述。

其中一些甚至包括島嶼部分地圖。

但不幸的是,這些地圖描述了亞特蘭蒂斯的不同區域。

您的朋友bill必須知道地圖的總面積。

你自告奮勇寫了乙個計算這個總面積的程式。

輸入格式

輸入包含多組測試用例。

對於每組測試用例,第一行包含整數n,表示總的地圖數量。

接下來n行,描繪了每張地圖,每行包含四個數字x1,y1,x2,y2x1,y1,x2,y2(不一定是整數),(x1,y1)(x1,y1)和(x2,y2)(x2,y2)分別是地圖的左上角位置和右下角位置。

注意,座標軸 x 軸從上向下延伸,y 軸從左向右延伸。

當輸入用例n=0時,表示輸入終止,該用例無需處理。

輸出格式

每組測試用例輸出兩行。

第一行輸出」test case #k」,其中k是測試用例的編號,從1開始。

第二行輸出「total explored area: a」,其中a是總地圖面積(即此測試用例中所有矩形的面積並,注意如果一片區域被多個地圖包含,則在計算總面積時只計算一次),精確到小數點後兩位數。

在每個測試用例後輸出乙個空行。

資料範圍

1≤n≤1000001≤n≤100000,

0≤x10≤y1注意,本題 nn 的範圍上限加強至 1000010000。

輸入樣例:

210 10 20 20

15 15 25 25.5

0輸出樣例:

test case #1

total explored area: 180.00

太難了,就不寫思路了,寫出來肯定很亂

ac**如下:

#include

#include

#include

#include

#include

using

namespace std;

const

int n =

100010

;int n;

struct segment

}seg[n *2]

;struct node

tr[n *8]

;vector<

double

> ys;

intfind

(double y)

void

pushup

(int u)

else tr[u]

.len =0;

}void

build

(int u,

int l,

int r);if

(l != r)

}void

modify

(int u,

int l,

int r,

int k)

else

}int

main()

; seg[j ++]=

; ys.

push_back

(y1)

, ys.

push_back

(y2);}

sort

(ys.

begin()

, ys.

end())

; ys.

erase

(unique

(ys.

begin()

, ys.

end())

, ys.

end())

;build(1

,0, ys.

size()

-2);

sort

(seg, seg + n *2)

;double res =0;

for(

int i =

0; i < n *

2; i ++

)printf

("test case #%d\n"

, t ++);

printf

("total explored area: %.2lf\n\n"

, res);}

return0;

}

AcWing247亞特蘭蒂斯(線段樹 掃瞄線)

題目位址 題目描述 有幾個古希臘書籍中包含了對傳說中的亞特蘭蒂斯島的描述。其中一些甚至包括島嶼部分地圖。但不幸的是,這些地圖描述了亞特蘭蒂斯的不同區域。您的朋友bill必須知道地圖的總面積。你自告奮勇寫了乙個計算這個總面積的程式。輸入格式 輸入包含多組測試用例。對於每組測試用例,第一行包含整數n,表...

時空角怎麼理解 去過亞特蘭蒂斯的時空展覽館看看

亞特蘭蒂斯 亞特蘭蒂斯位於城中邦,在東亞大陸與西雅圖連線的延長線上,這裡是島風氣候,人的平均壽命在150 170歲。你們傳說中很多有關水晶或大祭司有關的故事都是 於此。這裡與臨近國家與城市的 往來非常頻繁,當時是著名的旅遊,文化,金融交流中心。這裡人的視野非常開闊,很多人都是你們所說的上知天文下知地...

邏輯斯蒂回歸

邏輯斯蒂回歸首先研究的是分類問題,所以我們這裡引入的激勵函式是sigmoid函式,所以邏輯斯蒂回歸也叫sigmoid回歸。當然也叫對數機率回歸。邏輯斯蒂回歸是直接對資料的分類的可能性進行建模,而不是假設資料的分布,這就避免了假設資料分布時不均勻所帶來的問題,所以邏輯斯蒂回歸不但可以 類別,還可以得出...