BZOJ4372 爍爍的遊戲

2022-05-03 23:33:20 字數 1967 閱讀 2858

背景:爍爍很喜歡爬樹,這嚇壞了樹上的皮皮鼠。

題意:給定一顆n個節點的樹,邊權均為1,初始樹上沒有皮皮鼠。

爍爍他每次會跳到乙個節點u,把周圍與他距離不超過d的節點各吸引出w只皮皮鼠。皮皮鼠會被爍爍吸引,所以會一直待在節點上不動。

爍爍很好奇,在當前時刻,節點u有多少個他的好朋友---皮皮鼠。

大意:給一顆n個節點的樹,邊權均為1,初始點權均為0,m次操作:

q x:詢問x的點權。

m x d w:將樹上與節點x距離不超過d的節點的點權均加上w。

第一行兩個正整數:n,m

接下來的n-1行,每行三個正整數u,v,代表u,v之間有一條邊。

接下來的m行,每行給出上述兩種操作中的一種。

對於每個q操作,輸出當前x節點的皮皮鼠數量。

7 61 2

1 41 5

2 32 7

5 6m 1 1 2

q 5m 2 2 3

q 3m 1 2 1

q 2236

資料範圍:

n,m<=10^5,|w|<=10^4

注意:w不一定為正整數,因為爍爍可能把皮皮鼠嚇傻了。

裸的動態樹分治,和震波很像啊(時限寬鬆多了)。

套個支援區間增加的線段樹就行了。

陣列開小結果re2次(tat)。

前面10s的太強了。

#include#include

#include

#include

#include

#include

#define rep(i,s,t) for(int i=s;i<=t;i++)

#define dwn(i,s,t) for(int i=s;i>=t;i--)

#define ren for(int i=first[x];i;i=next[i])

using

namespace

std;

inline

intread()

const

int maxn=200010

;const

int maxnode=20000010

;int n,m,first[maxn],next[maxn<<1],to[maxn<<1

],e;

void addedge(int u,int

v) int val[maxn],mn[maxn<<1][20],log[maxn<<1

],dep[maxn],pos[maxn],cnt;

void dfs(int x,int

fa)

void

init()

int dist(int x,int

y) int

vis[maxn],f[maxn],s[maxn],root,size;

void getroot(int x,int

fa)

f[x]=max(maxs,size-s[x]);

if(f[root]>f[x]) root=x;

}int

fa[maxn];

void build(int

x) }

intls[maxnode],rs[maxnode],addv[maxnode],tot;

introot1[maxn],root2[maxn];

void update(int& o,int l,int r,int ql,int qr,int

v) }

int query(int& o,int l,int r,int pos,int

cur)

void update(int x,int w,int

v) }

}int query(int

x)

return

res;

}int

main()

}return0;

}

view code

BZOJ 4372 爍爍的遊戲

背景 爍爍很喜歡爬樹,這嚇壞了樹上的皮皮鼠。題意 給定一顆n個節點的樹,邊權均為1,初始樹上沒有皮皮鼠。爍爍他每次會跳到乙個節點u,把周圍與他距離不超過d的節點各吸引出w只皮皮鼠。皮皮鼠會被爍爍吸引,所以會一直待在節點上不動。爍爍很好奇,在當前時刻,節點u有多少個他的好朋友 皮皮鼠。大意 給一顆n個...

BZOJ 4372 爍爍的遊戲 動態點分治

time limit 30 sec memory limit 512 mb submit 804 solved 288 submit status discuss 背景 爍爍很喜歡爬樹,這嚇壞了樹上的皮皮鼠。題意 給定一顆n個節點的樹,邊權均為1,初始樹上沒有皮皮鼠。爍爍他每次會跳到乙個節點u,把周...

BZOJ4372 爍爍的遊戲 動態點分治

題目描述 給一顆n個節點的樹,邊權均為1,初始點權均為0,m次操作 q x 詢問x的點權。m x d w 將樹上與節點x距離不超過d的節點的點權均加上w。n,m 105,w 104 題目分析 每個點分中心維護乙個樹狀陣列記錄對子樹某個距離的加權,再維護乙個記錄點分樹上的父親由自己這棵子樹貢獻上去的加...