bsoj1470&bzoj4372 爍爍的遊戲
點分樹+線段樹
首先我們可以發現,這個和模板題的區別就是那裡是單點修改區間查詢,但是這裡是區間修改單點查詢。
具體可以見**。
#include#include#include#include#define m 100010
#define ls ch[node][0]
#define rs ch[node][1]
using namespace std;
int read()
int n,m,num,cnt,root,s;
int sz[m],size[m],top[m],fa[m],deep[m],son[m],head[m],maxn[m],f[m];
int rt1[m],rt2[m],val[m<<7],ch[m<<7][2];bool vis[m];
struct pointe[m<<1];
void add(int from,int to)
void dfs1(int x)
}void dfs2(int x,int tp)
int lca(int x,int y)
int dis(int x,int y)
void getroot(int x,int fa)
maxn[x]=max(maxn[x],s-size[x]);
if(maxn[x]=r)
int mid=(l+r)/2;
if(l1<=mid) change(ls,l,mid,l1,r1,v);
if(r1>mid) change(rs,mid+1,r,l1,r1,v);
}int query(int node,int l,int r,int x)
void update(int x,int d,int v)
}int ask(int x)
return res;
}int main()
dfs1(1),dfs2(1,1);
maxn[0]=s=n;
getroot(1,0),solve(root,0);
for(int i=1;i<=m;i++)
else
}return 0;
}
BZOJ4372 爍爍的遊戲
背景 爍爍很喜歡爬樹,這嚇壞了樹上的皮皮鼠。題意 給定一顆n個節點的樹,邊權均為1,初始樹上沒有皮皮鼠。爍爍他每次會跳到乙個節點u,把周圍與他距離不超過d的節點各吸引出w只皮皮鼠。皮皮鼠會被爍爍吸引,所以會一直待在節點上不動。爍爍很好奇,在當前時刻,節點u有多少個他的好朋友 皮皮鼠。大意 給一顆n個...
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,把周...