題面慢慢讀吧(滑稽。
設d[i]為1~i的距離,a[i]為儲蓄點i的貨物個數。
假設x在r的右邊,則有:a[a]*dis(a,x)+a[b]*dis(b,x)。
展開可得d[x]*(a[a]+a[b])-d[a]*a[a]-d[b]*a[b]。
於是線段樹維護區間貨物個數以及d[i]*a[i]的區間和即可。
剩下的情況大致相同就不多說了。
注!意!取!模!
#include#include#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long
ll;const
int p=19260817
;const
int n=2e5+5
;inline
intread()
while(isdigit(ch))x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
return w?-x:x;
}int
n,m;
ll num[n*4],sum[n*4
],d[n],b[n];
void build(int a,int l,int
r)
int mid=(l+r)>>1
; build(a
<<1,l,mid);build(a<<1|1,mid+1
,r);
num[a]=(num[a<<1]+num[a<<1|1])%p;
sum[a]=(sum[a<<1]+sum[a<<1|1])%p;
}ll query(
int a,int l,int r,int l1,int r1,int
x)
int mid=(l+r)>>1
;
return (query(a<<1,l,mid,l1,r1,x)+query(a<<1|1,mid+1,r,l1,r1,x))%p;
}int
main()
return0;
}
+
洛谷P3932 浮游大陸的68號島
浮游大陸的68號島,位於浮游大陸的邊境地帶。平時很少有人造訪。島上被濃厚的森林覆蓋。在這座邊境地區不起眼的浮游島上,建立著神秘的 兵器 管理倉庫 妖精倉庫。妖精倉庫裡生活著 妖精們,她們過著快樂,卻隨時準備著迎接死亡的生活。換用更高尚的說法,是隨時準備著為這個無藥可救的世界獻身。然而孩子們的生活卻總...
P3932 浮游大陸的68號島
p3932 浮游大陸的68號島 無聊找了個水題做。大概就是字首和亂搞一下沒了,除了字首和啥都沒有。建議降綠。考慮對於乙個點 i 到詢問點 x 然後沒啥東西。詢問區間拆開分開做就完了。name author gensokyo alice date description include include...
貪婪大陸(洛谷P2184)
題目背景 面對螞蟻們的瘋狂進攻,小ff的tower defence宣告失敗 人類被螞蟻們逼到了greed island上的乙個海灣。現在,小ff的後方是一望無際的大海,前方是變異了的超級螞蟻。小ff還有大好前程,他可不想命喪於此,於是他派遣手下最後一批改造scv布置地雷以阻擋螞蟻們的進攻。題目描述 ...