題目傳送門
在一片廣袤無垠的原野上,散落著n塊磁石。
每個磁石的性質可以用乙個五元組(x,y,m,p,r)描述,其中x,y表示其座標,m是磁石的質量,p是磁力,r是吸引半徑。
若磁石a與磁石b的距離不大於磁石a的吸引半徑,並且磁石b的質量不大於磁石a的磁力,那麼a可以吸引b。小取酒帶著一塊自己的磁石l來到了這片原野的(x0,y0)處,我們可以視磁石l的座標為(x0,y0)。小取酒手持磁石l並保持原地不動,所有可以被l吸引的磁石將會被吸引過來。
在每個時刻,他可以選擇更換任意一塊自己已經獲得的磁石(當然也可以是自己最初攜帶的l磁石)在(x0,y0)處吸引更多的磁石。
小取酒想知道,他最多能獲得多少塊磁石呢?
輸入格式
第一行五個整數x0,y0,pl,rl,n,表示小取酒所在的位置,磁石l磁力、吸引半徑和原野上散落磁石的個數。
接下來n行每行五個整數x,y,m,p,r,描述一塊磁石的性質。
輸出格式
輸出乙個整數,表示最多可以獲得的散落磁石個數(不包含最初攜帶的磁石l)。
資料範圍
\(1≤n≤250000, −10^9≤x,y≤10^9, 1≤m,p,r≤10^9\)
輸入樣例:
0 0 5 10 5
5 4 7 11 5
-7 1 4 7 8
0 2 13 5 6
2 -3 9 3 4
13 5 1 9 9
輸出樣例:3
將磁石按照質量排序,分成t塊,然後對於乙個磁石一定有乙個k,使得前k-1塊所有的磁石的質量都小於它的磁力,k+1塊之後的磁石質量都比它磁力大,而對塊內按照距離排序之後,只需要挨個掃就可以了,掃過的標記、加入佇列,調整區間。但對於第k塊,因為不是所有的質量都小於當前磁塊的磁力,所以要全部掃一遍,直到距離大於磁力半徑,該塊不能被調整區間
#include using namespace std;
const int n = 250010;
struct nodea[n];
int x0,y,n;
int l[n],r[n],v[n];
double s(int x)
bool cmp(node a,node b)
bool cmp2(node a,node b)
int main()
int t = sqrt(n);
for(int i=1;i<=t;i++)
if(r[t] < n)
sort(a+1,a+n+1,cmp);
for(int i=1;i<=t;i++)
int res = 0;
queueq;
q.push(0);
while(!q.empty())else
}else
}if(flag)l[i] = j;//不是第k塊就調整左座標點}}
printf("%d\n",res-1);//減去原始的磁石
return 0;
}
mx250 計算能力 分析mx250顯示卡什麼級別
熟悉顯示卡的朋友對於英偉達顯示卡一定不陌生,其中mx250顯示卡就是英偉達顯示卡之一,它是英偉達於2019年第一季度發布的一款用於膝上型電腦的下顯示卡,用於替代之前的mx150顯示卡。那mx250顯示卡什麼級別呢?下面小風就跟大家聊聊mx250顯示卡。mx250顯示卡是英偉達於2019年第一季度發布...
mx250是什麼 分析mx250顯示卡什麼級別
mx250顯示卡是英偉達於2019年第一季度發布的一款用於膝上型電腦的下顯示卡,用於替代之前的mx150顯示卡。是一款移動筆記本平台低功耗辦公顯示卡,它的特點是功耗低,主打超級本裝置。mx250採用的是帕斯卡架構,基本上就是在上一代的mx150的基礎上進行了小幅度的公升級 如果是桌面級顯示卡陣營中,...
springJSR 250註解學習
spring與jsr 250註解學習 1.參考書1 精通 spring 2.x 企業應用開發精解 前言 要使用註解,spring 的配置檔案得到了極大的簡化,只需要加入下面兩個命名空間即可 base package testspring.main 那是不是我們有了註解了以後就可以完全不使用xml配置...