[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樹...