說在前面:我有個同學叫小奇,他有乙個朋友叫達達,達達特愛地理和旅遊,初中經常ak地理,好懷戀和他已經達達一起到當時初中附近許多樓盤的頂樓逛的時光...
考慮到要求至少沒有一種顏色,那麼就欽定某種顏色不存在即可
考慮這樣一種做法,將所有點按照y從小往大排序,列舉到\(u=(x,y,z)\)時,查詢y比他小的\(z\)顏色的點的位置,定位到在\(u\)兩側的點然後查詢在\(u\)以下的點的個數,此時由於一定沒有\(z\)顏色,所以是合法的。
然後那些一條線往上的方案,可以把y*=-1解決
//@winlere
#include#include#include#include#include#include#define debug(s) cerr<<(#s)<<" = "<<(s)int seg[maxn];
inline void add(const int&pos,const int&tag)
inline int que(const int&pos)
int work(const int&_f)
add(data[t].x,1);
} for(int t=1;t<=k;++t)
if(_f)
return ret;
}int main()
題解 BZOJ4548 小奇的糖果
本文同步在學弟zcdhj的個人部落格發布,審核需要一段時間.傳送門考慮題目中獲得的糖果並不包含所有的顏色這句話,發現相當於我們可以直接選取某乙個顏色強制不能選 這樣子一定最優 然後就可以考慮分開解決上面和下面.先考慮下面 列舉顏色然後搞區間 不能包含這一種顏色 按照橫座標的順序刪點,然後再看刪除的點...
BZOJ 4548 小奇的糖果
有 n 個彩色糖果在平面上。小奇想在平面上取一條水平的線段,並拾起它上方或下方的所有糖果。求出最多能夠拾 起多少糖果,使得獲得的糖果並不包含所有的顏色。包含多組測試資料,第一行輸入乙個正整數 t 表示測試資料組數。接下來 t 組測試資料,對於每組測試資料,第一行輸入兩個正整數 n k,分別表示點數和...
BZOJ4548 小奇的糖果
試題描述 有 n 個彩色糖果在平面上。小奇想在平面上取一條水平的線段,並拾起它上方或下方的所有糖果。求出最多能夠拾起多少糖果,使得獲得的糖果並不包含所有的顏色。輸入包含多組測試資料,第一行輸入乙個正整數 t 表示測試資料組數。接下來 t 組測試資料,對於每組測試資料,第一行輸入兩個正整數 n k 分...