BZOJ1052 HAOI2007 覆蓋問題

2022-05-07 20:39:05 字數 789 閱讀 4333

bzoj

洛谷二分答案是顯然的。

算一下包含所有的點的最小矩形的範圍\((x1,y1)\)

\((x2,y2)\)

貪心思考一下肯定是把塑料薄膜其中乙個角放在此矩形上的

然後\(dfs\)判一下即可

#include #include #include #include #include #include using namespace std; 

inline int gi()

void chkmax(int &x, int y)

void chkmin(int &x, int y)

const int max_n = 20005;

int n, vis[max_n];

pairp[max_n];

#define x first

#define y second

void cover(int x1, int x2, int y1, int y2, int id)

void uncover(int id)

bool dfs(int tot, int l) else

if (dfs(tot + 1, l)) return 1;

uncover(tot);

} return 0;

}bool check(int l)

int main ()

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

return 0;

}

bzoj1052 HAOI2007 覆蓋問題

一道簡單的二分 貪心,先找四個最大最小座標,以四個角中的乙個為左上角劃正方形,再找再劃,最後判斷剩下的點是否在乙個正方形內。ac code include include include include define ll long long using namespace std const ll...

1052 HAOI2007 覆蓋問題(貪心)

某人在山上種了n棵小樹苗。冬天來了,溫度急速下降,小樹苗脆弱得不堪一擊,於是樹主人想用一些塑料薄膜把這些小樹遮蓋起來,經過一番長久的思考,他決定用3個l l的正方形塑料薄膜將小樹遮起來。我們不妨將山建立乙個平面直角座標系,設第i棵小樹的座標為 xi,yi 3個l l的正方形的邊要求平行與座標軸,乙個...

BZOJ1052 BZOJ3760 覆蓋問題

原題位址 先說自己的逗比方法 二分答案,把所有點用乙個最小的矩形 框 起來,易證矩形的其中乙個端點是最優解中正方形的乙個端點,然後列舉四個端點後遞迴處理,差不多了 然後 olz黃學長的o n 做法 ac code include include include using namespace std...