关于点分治找重心
  • 板块学术版
  • 楼主happybob
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/7/15 12:48
  • 上次更新2023/10/27 20:14:28
查看原帖
关于点分治找重心
332914
happybob楼主2022/7/15 12:48

rt,刚才做点分治T了,我觉得是找重心的问题。

int get_wc(int u, int fa, int tot, int& wc)
{
	if (st[u]) return 0;
	int maxn = 0, sum = 0;
	for (int i = 0; i < G[u].size(); i++)
	{
		int j = G[u][i].v;
		if (j == fa) continue;
		int h = get_wc(j, u, tot, wc);
		maxn = max(maxn, h);
		sum += h;
	}
	maxn = max(maxn, tot - sum);
	minn[u] = maxn;
	if (minn[u] < minn[wc]) wc = u;
	return sum;
}

重心我是这样找的,但是我觉得复杂度是否是错的?因为它貌似会被菊花图或者链卡

2022/7/15 12:48
加载中...