SDOI2017 相關分析(用線段樹維護平方和)

2022-05-09 15:43:06 字數 959 閱讀 5637

題目啊,這道題目一點思路都沒有啊。

這麼神奇的嗎。

就是死命的推式子,這裡用一下這位大佬的證明。

當然,寫這個部落格主要是想講一下維護平方和和區間加減。

首先,區間的\(lazy\)標記具有可加性:\((x+k+k)^2=(x+2k)^2\),因此,\(lazy\)標記可以疊加,只要計算每乙個\(lazy\)標記會對維護的值產生多少的貢獻即可。

非常的優秀呢。

因為用了別人太多證明了,所以用**

#include#include#define  n  110000

#define nn 210000

using namespace std;

typedef double ll;

struct node

tr[nn];int len;

ll a[n],b[n];

inline void pushup(int x)

inline void pushlazy(int x,ll lx,ll ly)

inline void pushqin(int x)

inline void pushdown(int x)

if(tr[x].lx || tr[x].ly) }

void bt(int l,int r)

}void change1(int now,int l,int r,int ll,int rr,ll lx,ll ly)/*非常單純的修改*/

int mid=(l+r)/2,lc=tr[now].l,rc=tr[now].r;

pushdown(now);

if(rr<=mid)change1(lc,l,mid,ll,rr,lx,ly);

else if(mid在遇到平均數的題目時們可以嘗試把平均數拆開化化式子來做。

SDOI2017 相關分析

題目傳送門 看了 loj 300多份 似乎我是唯二寫分塊的?剛開始感覺線段樹比較難寫,就開始碼分塊了。現在知道為什麼沒人寫分塊了 很容易想到將式子進行拆分,然後維護各種東西 操作1 a frac x i y i x i overline overline y i overline overline ...

Sdoi2017 相關分析 線段樹

題意 沙茶線段樹 md其實我考場上還剩乙個多小時寫了40分 其實當時寫正解也可以吧1h也就寫完了不過還要拍一下 正解 比40分短2333 include include include include include using namespace std typedef long long ll ...

Sdoi2017 相關分析 線段樹

題意 沙茶線段樹 md其實我考場上還剩乙個多小時寫了40分 其實當時寫正解也可以吧1h也就寫完了不過還要拍一下 正解 比40分短2333 include include include include include using namespace std typedef long long ll ...