題意:求矩形面積並
分析:本來是要學習掃瞄線的,不過還沒看懂。。囧。。在看了黑書之後,發現這題資料規模如此小(100個矩形),於是yy出了一種方法:
1.首先把x,y座標都進行離散化。
2.離散化之後,將整個平面劃分成很多面積不等的小矩形。
3.列舉每個大矩形,得到大矩形離散化後的左上角點和右下角點的位置。
4.把每個小矩形標記為c[i][j]表示第i行第j列個矩形是否已經被計算過,那麼在大矩形中列舉其包含的所有小矩形,如果小矩形未被包含著總面積增加小矩形的面積,並標記該小矩形。
各種蛋疼:1.自己2b的把左移寫成右移,結果陣列開小了,檢查了半天。。。
2.poj上面g++不能使用%lf,換成c++後就過了。
**:#include#include#include#includeusing namespace std;
const int maxn = 222;
struct recr[maxn];
double x[maxn<<2],y[maxn<<2],ans;
bool c[maxn<<2][maxn<<2];
int sx,sy,n;
void init()
void disc(){
int tpx=0,tpy=0;sx=1,sy=1;
for(int i=0;i>1;
if(arr[m]==k)return m;
else if(k0){
cas++;
for(int i=0;i
POJ 1151 Atlantis 離散化 暴力
題目鏈結 資料範圍較小,直接離散後暴力。等等學習一下線段樹的思路。1 include 2 include 3 include 4 include 5 using namespace std 6 define n 101 7 define eps 1e 6 8double xr n xc n yr n...
POJ 1151線段樹 離散化 掃瞄線
poj1151 一開始做的時候,我還用以前做的離散化的方法來離散化這題中的資料,但是後來才發現,它裡面包含了浮點數。不能直接的離散化!必須轉化為整數後,再來影射.又學習了一種離散化的方法。還有就是掃瞄線的方法,第一次聽說,開始看這題的正確 的時候,看半天沒看懂。耽誤了好久時間。後來終於明白了什麼是掃...
POJ1151 離散化求矩形面積的並
第一道離散化的題目,雖然是水題,不過還是很高興。include include include using namespace std struct rect define max 103 1 rect a max 1 double x max y max bool flag max max int...