U556731 点分治完整代码
题目背景
额为了防止专栏太长就把代码放这里了,不要提交浪费资源(虽然我也没放数据应该浪费不了资源)
```cpp
#include
using namespace std;
namespace kong{bool st;}
namespace OHmy{
int tot,head[100100],siz[100100],wet[100100],n,rt,all;
int st[100100],num,dis[100100];
int ans[100100],que[100100],mt[100100],m;
int vis[100100],tong[10001000];
struct edge{
int to,nxt,w;
}e[200200];
void add(int u,int v,int w){
e[++tot].to=v;
e[tot].nxt=head[u];
head[u]=tot;
e[tot].w=w;
return;
}
void grt(int x,int f){
wet[x]=0;
siz[x]=1;
for(int i=head[x];i;i=e[i].nxt){
int v=e[i].to;
if(v==f||vis[v]) continue;
grt(v,x);
siz[x]+=siz[v];
wet[x]=max(wet[x],siz[v]);
}
wet[x]=max(wet[x],all-siz[x]);
if(wet[x]>m;
wet[0]=all=n;
for(int i=1;i>u>>v>>w;
add(u,v,w);
add(v,u,w);
}
for(int i=1;i>que[i];
}
grt(1,0);
gsz(1,0);
dfs(rt);
for(int i=1;i
题目描述
不要提交
输入格式
不要提交
输出格式
不要提交
说明/提示
不要提交