座標離散化

2021-09-26 04:59:30 字數 773 閱讀 8638

原理:從稀疏矩陣中把有效資料提出來,放在乙個新的座標系中

#include #include #include #include #include #include #include const int inf = 1e6;

const int maxn = 510;

using namespace std;

int w, h, n;

int x1[maxn], x2[maxn], y1[maxn], y2[maxn];

int mp[maxn][maxn];

//填充用

bool fld[maxn * 6][maxn * 6];

//對x1 x2進行座標離散化,返回離散化之後的值

int compress(int *x1, int *x2, int w)

//排序,去重

sort(xs.begin(), xs.end());

xs.erase(unique(xs.begin(), xs.end()), xs.end());

//將線的位置更新

for(int i = 0; i < n; i++)

return xs.size();

} void solve();

int dy[4] = ;

for(int i = 0; i < 4; i++)

} }

} printf("%d\n", ans);

}//測試函式

int main()

座標離散化

問題 在w h的格仔上畫了n條垂直或者水平的寬度為1的直線。求出這些直線將格仔劃分為了多少個區域?限制條件 1 w,h 1000000 1 n 500 輸入 首先輸入w,h,n 然後輸入對應的x1,x2,y1,y2.輸出區域的個數。輸入 10 10 5 x1 1 1 4 9 10 x2 6 10 4...

座標離散化

問題 在w h的格仔上畫了n條垂直或者水平的寬度為1的直線。求出這些直線將格仔劃分為了多少個區域?限制條件 1 w,h 1000000 1 n 500 輸入 首先輸入w,h,n 然後輸入對應的x1,x2,y1,y2.輸出區域的個數。輸入 10 10 5 x1 1 1 4 9 10 x2 6 10 4...

二維座標離散化

離散化的思想就是將分布大卻數量少 即稀疏 的資料進行集中化的處理,這樣可以有利於程式的空間與時間,能減少遍歷次數與空間儲存。然而雖然我會了思想今天問了翔神半天才知道怎麼實現。其實實現的方式與口述的角度還是有所不同。思想理解起來其實道理很簡單,如座標 3,2000 10005,31 10006,5 離...