bzoj4822 Cqoi2017 老C的任務

2022-04-30 08:00:13 字數 2070 閱讀 5291

time limit: 20 sec  memory limit: 512 mb

submit: 284  solved: 152

[submit][status][discuss]

老 c 是個程式設計師。    

最近老 c 從老闆那裡接到了乙個任務——給城市中的手機基站寫個管理系統。作為經驗豐富的程式設計師,老 c 輕鬆

地完成了系統的大部分功能,並把其中乙個功能交給你來實現。由於乙個基站的面積相對於整個城市面積來說非常

的小,因此每個的基站都可以看作座標系中的乙個點,其位置可以用座標(x, y)來表示。此外,每個基站還有很多屬

性,例如高度、功率等。運營商經常會劃定乙個區域,並查詢區域中所有基站的資訊。現在你需要實現的功能就是,

對於乙個給定的矩形區域,回答該區域中(包括區域邊界上的)所有基站的功率總和。如果區域中沒有任何基站,則回

答 0。

第一行兩個整數 n, m,表示一共有n個基站和m次查詢。    

接下來一共有 n 行,每行由x_i , y_i , p_i 三個空格隔開的整數構成,表示乙個基站的座標(x_i , y_i )和功率p

_i 。不會有兩個基站位於同一座標。    

接下來一共有m行,每行由x1_j , y1_j , x2_j , y2_j 四個空格隔開的整數構成,表示一次查詢的矩形區域。該矩

形對角座標為(x1_j , y1_j )和(x2_j , y2_j ),且 4 邊與座標軸平行。 

2^31 ≤ x_i , y_i , p_i , x1_j , y1_j , x2_j , y2_j < 2^31, x1_j ≤ x2_j, y1_j ≤ y2_j。   

輸出 m 行,每行乙個整數,對應每次查詢的結果。

4 20 0 1

0 1 2

2 2 4

1 0 8

0 0 1 1

1 1 5 6114

——————————————————————

這道題明顯的掃瞄線qaq 資料範圍沒給就開大了點

橫縱座標x y離散化xy排序 然後按y掃一遍就好了

無形卡常最為致命qaq

這裡我還是貼一波正常版的吧 23333

#include#include

#include

#define ll long long

using

namespace

std;

const

int m=1e6+7

;ll read()

while(c>='

0'&&c<='9')

return ans*f;

}ll ans[m],s[

3*m],xs[3*m];

intn,m,xp,qp,ep;

int lowbit(int x)

void add(int

x,ll v)

}ll query(

intx)

return

ans;

}struct

q

void

calc()

}q[2*m];

struct

pos

void

calc()

}e[m];

void $(ll &x)

intmain()

; }

for(int i=1;i<=m;i++);

q[qp++]=(q);

}sort(xs,xs+xp);

for(int i=0;i) $(e[i].x);

for(int i=0;i) $(q[i].l),$(q[i].r);

sort(e,e+ep);

sort(q,q+qp);

for(int i=0,j=0;i)

for(int i=1;i<=m;i++) printf("

%lld\n

",ans[i]);

return0;

}

view code

bzoj1257 CQOI 餘數之和

題目 time limit 5 sec memory limit 162 mb submit 2383 solved 1105 submit status discuss 給出正整數n和k,計算j n,k k mod 1 k mod 2 k mod 3 k mod n的值,其中k mod i表示k除...

BZOJ1818 Cqoi2010 內部白點

給定平面上的一些黑點,其它位置都是白點,乙個白點如果上下左右都有黑點就會變成黑點,求最終會有多少個黑點 就是求交點個數 離散化後,取出所有線段,然後沿任意乙個軸朝著乙個方向掃,然後把平行於另乙個軸的線段用端點記錄,掃到一端就在樹狀陣列裡 1,另一端 1,樹狀陣列求個區間和貢獻答案即可 const m...

bzoj3295 CQOI2011 動態逆序對

time limit 10 sec memory limit 128 mb submit 3122 solved 986 submit status discuss 對於序列a,它的逆序對數定義為滿足i aj 的數對 i,j 的個數。給1到n的乙個排列,按照某種順序依次刪除m個元素,你的任務是在每次...