時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 65536k,其他語言131072k
64bit io format: %lld
我的就是我的,你也是我的,記住了,狐狸!
——韓信-白龍吟
對於打賭輸了的小t會遭受到制裁,小s修改了資料庫使他可以派出許多軍隊來圍攻小t.
很不幸,小t與小s打賭打輸了,現在小t遭受著槍林彈雨與十面埋伏,因為小t是神所以他決定要扭轉局勢。
他要修改資料庫!
資料總庫的訊號牆有n個電極插頭,每個插頭有乙個訊號aiai,
小t可以使在區間[ l,r ][ l,r ]內的所有訊號加上乙個值k。
對於區間[ l,r ][ l,r ]的訊號強度有乙個計算公式:
我們定義
f(k)=ak×∑rj=k+1ajf(k)=ak×∑j=k+1raj
則訊號強度就為:
∑ri=lf(i)∑i=lrf(i)
你可以認為f(i)就是第i個插頭的訊號強度。
現在小t一會兒修改訊號值,一會兒詢問訊號強度,你是資料庫的管理員,為了不被小td,所以你要告訴他訊號強度是多少。
注:本系列題不按難度排序哦
第一行兩個整數n,q
第二行n個整數代表a
後q行代表操作:
一操作:1 l r x1 l r x代表區間[ l,r ][ l,r ]加x。
二操作:2 l r2 l r代表區間詢問。
每一行乙個數字,表示對於乙個二操作的答案。
示例1
複製
5 2
1 2 3 4 5
1 1 2 1
2 1 2
複製
6
樣例解釋:1 1 2 1使a[1]~a[2]的值每個都加了1, 即a[1]=2, a[2]=3,所以2 1 2=a[1]*a[2]=2*3=6
保證所有二操作的答案都是在long longlong long範圍內(如果你不相信,可以寫高精)。
時空限制為標程的5倍,放心卡常。
100% 1≤n,q≤105100% 1≤n,q≤105
對於所有ai≤100ai≤100
不會寫看題解:
透過這道題 我學會了如何用線段數維護每一位的數的平方 的區間和。 也知道了如果是區間內任意兩個數相乘之和的答案是這樣求得。很不錯得一道題,學到了學到了。
#includeusing namespace std;
typedef long long ll;
const int n=1e5+10;
ll c1[n*4],c2[n*4],a[n],lazy[n*4];
int n,m;
void build(int id,int l,int r)
int mid=l+r>>1;
build(id<<1,l,mid);
build(id<<1|1,mid+1,r);
c1[id]=c1[id<<1]+c1[id<<1|1];
c2[id]=c2[id<<1]+c2[id<<1|1];
}void pushdown(int id,int l,int r)
}void up(int id,int l,int r,int ql,int qr,ll val)
pushdown(id,l,r);
int mid=l+r>>1;
if(ql<=mid) up(id<<1,l,mid,ql,qr,val);
if(qr>mid) up(id<<1|1,mid+1,r,ql,qr,val);
c1[id]=c1[id<<1]+c1[id<<1|1];
c2[id]=c2[id<<1]+c2[id<<1|1];
}ll qu(int id,int l,int r,int ql,int qr,int op)
pushdown(id,l,r);
ll ans=0;
int mid=l+r>>1;
if(ql<=mid) ans+=qu(id<<1,l,mid,ql,qr,op);
if(qr>mid) ans+=qu(id<<1|1,mid+1,r,ql,qr,op);
return ans;
}int main()
else}}
線段樹 (維護 區間平方和 Lazy標記)
外掛程式時間限制 c c 1秒,其他語言2秒 空間限制 c c 65536k,其他語言131072k 64bit io format lld 我的就是我的,你也是我的,記住了,狐狸!韓信 白龍吟 對於打賭輸了的小t會遭受到制裁,小s修改了資料庫使他可以派出許多軍隊來圍攻小t.很不幸,小t與小s打賭打...
線段樹維護區間加 乘 賦值 平方和 立方和
對於x點,有加法懶標記add和乘法懶標記mul,那麼可以以以下兩種方式維護元素的值 x x add mul 或者 x x mul add 可以證明先乘後加要比先加後乘容易維護 原來的乘 加法標記為 mul1 add1,後來要加上的乘 加法標記為 mul2 add2 x的值變為 x.dat x.dat...
線段樹維護區間01
g.小 w 開關燈 problem 4467 discussion description 晚上到家小 w 通過開關燈來保持自己神經的興奮以便清醒地理筆記。n n 2 n 100,000 2 n 100,000 盞燈被連續的編號為 1 n 1 n 剛回到家的時候,所有的燈都是關閉的。小w 通過 n ...