本文共 780 字,大约阅读时间需要 2 分钟。
直接离散化之后用树状数组扫一遍。
把每一个询问拆成四个就可以做了。
%Silvernebula 怒写KD-Tree
#include #include #include #include #include #include #include using namespace std;#define F(i,j,k) for (ll i=j;i<=k;++i)#define D(i,j,k) for (ll i=j;i>=k;--i)#define ll long long#define mp make_pair#define maxn 400005 void Finout(){ freopen("task.in","r",stdin); freopen("task.out","w",stdout);} struct Query{ ll opt,x,y,id,p; Query(){} Query(ll _x,ll _y,ll _id,ll _opt) {x=_x;y=_y;id=_id;opt=_opt;p=0;} void print() {printf("The Option is %lld (%lld,%lld) ID %lld p %lld\n",opt,x,y,id,p);} bool operator < (const Query a) const{ if (x==a.x&&opt==a.opt) return y
转载于:https://www.cnblogs.com/SfailSth/p/6736883.html