BZOJ2716 Violet 3 天使玩偶

2022-05-09 22:00:23 字數 1572 閱讀 7723

[bzoj2716][violet 3]天使玩偶

試題描述

輸入

輸出

輸入示例

第乙個測試點,我就不拿來佔頁面了= =

輸出示例

同上資料規模及約定

= =題目中給的範圍不對。。。交上去re。。。我目測大概 n, m ≤ 600000,xi, yi ≤ 107.

題解

出題人cnbb!

1.) 資料超大,時限 80 sec,出題人惡意卡測評機!

2.) 不能用任何讀入優化。

3.) 資料範圍還給錯了!

4.) kd樹模板刪邊題。【正經的題解只有這一句

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

const int buffersize = 1 << 16;

char buffer[buffersize], *head, *tail;

inline char getchar()

return *head++;

}int read()

while(isdigit(c))

return x * f;

}#define maxn 1200010

#define oo 40000000

int n, m;

int root, lc[maxn], rc[maxn];

bool cur;

struct node

int operator * (const node& t) const

} ns[maxn];

void maintain(int o)

return ;

}void build(int& o, int l, int r, bool cur)

int m = l + r >> 1; o = m;

cur = cur; nth_element(ns + l, ns + m, ns + r + 1);

build(lc[o], l, m - 1, cur ^ 1); build(rc[o], m + 1, r, cur ^ 1);

return maintain(o);

}node x;

void ins(int& o, bool cur)

return maintain(o);

}int calc(int b)

return sum;

}int query(int o)

else

return ans;

}int main()

if(tp == 2) printf("%d\n", query(root)); }

return 0;

}

bzoj2716 Violet 3 天使玩偶

傳送門 這題好像有cdq分治做法 不過我太菜了沒聽懂 於是我打了一發kdtree 度娘 k d樹 k dimensional樹的簡稱 是一種分割k維資料空間的資料結構。主要應用於多維空間關鍵資料的搜尋 如 範圍搜尋和最近鄰搜尋 k d樹是二進位制空間分割樹的特殊的情況。大概思路就是每次確定乙個軸,將...

BZOJ2716 Violet 3 天使玩偶

題解 通過取絕對值考慮後 發現是乙個較複雜的cdq 突然考慮距離問題 用kdtree寫也是可行的 但是.會退化 所以我們考慮用替罪羊樹來防止退化 include include include include include include include include include inclu...

BZOJ2716 天使玩偶

乙個平面直角座標系,座標 1 le x,y le10 6 n n le10 6 次操作,操作包含以下兩種 新增乙個點 x,y 詢問離 x,y 最近的點的距離。分別統計左下 左上 右上 右下的最近的點,每次使用cdq分治。樹狀陣列維護最小值。有乙個一樣的題是sjy擺棋子,不過cdq會被卡,需要用kd樹...