離散化 蠻力 POJ 1151 Atlantis

2021-06-06 10:36:17 字數 758 閱讀 2035

題意:求矩形面積並

分析:本來是要學習掃瞄線的,不過還沒看懂。。囧。。在看了黑書之後,發現這題資料規模如此小(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...