当前位置: 首页 > wzjs >正文

网站 优化 分析做图库网站需要多少钱

网站 优化 分析,做图库网站需要多少钱,科凡全屋定制,网站如何做淘宝支付宝支付树的重心 定义 对于一个树,树的重心定义为:删掉某点 i 后,若剩余 k 个连通分量,那么定义 d(i) 为这些连通分量中点的个数的最大值,所谓重心,就是使得 d(i) 最小的点 i。 基于以上定义,一个树的重…

树的重心

定义

对于一个树,树的重心定义为:删掉某点 i 后,若剩余 k 个连通分量,那么定义 d(i) 为这些连通分量中点的个数的最大值,所谓重心,就是使得 d(i) 最小的点 i

基于以上定义,一个树的重心可能会有一个或者两个。

在这里插入图片描述
如图所示,这棵树无点权、无边权、无向。
假设我们删掉最上面的点,剩下的2个子树大小分别为5和3,那么取较大值d(i)=5
能够使 d(i) 最小的点,则为重心。

求法

dfs求重心代码:(C++)

#include<iostream>
#include<vector>
using namespace std;int n, minw = 999999, res_i = 0;
vector<int> adj[100001];  // 邻接表存储树
int siz[100001], maxv[100001];// 计算子树大小和最大分量值
void dfs(int v, int f) {siz[v] = 1;int maxw = 0;  // 子树中的最大节点数for (int i = 0; i < adj[v].size(); i++) {int next = adj[v][i];if (next == f) continue;dfs(next, v);siz[v] += siz[next];maxw = max(maxw, siz[next]);  // 子树大小}int f_num = n - siz[v];  // 父节点分量大小maxw = max(maxw, f_num);maxv[v] = maxw;// 更新重心if (maxv[v] < minw || (maxv[v] == minw && v < res_i)) {res_i = v;minw = maxv[v];}
}
int main() {cin >> n;int f1, f2;for (int i = 1; i < n; i++) {cin >> f1 >> f2;adj[f1].push_back(f2);  // 邻接表存边(双向)adj[f2].push_back(f1);}dfs(1, 0);cout << res_i << endl;return 0;
}

输入输出样例 #1

输入 #1

4
1 2 
2 3 
3 4

输出 #1

2
http://www.dtcms.com/wzjs/552723.html

相关文章:

  • 网站编辑属于什么行业成都装饰公司
  • 公关策划网站建设2345网址导航怎么卸载
  • 网站建设项目报告书wordpress怎么改密码
  • 百度提交入口网站怎么看自己建网址
  • 地方门户网站赚钱网上注册公司在哪里
  • 营销型的物流网站模板做ppt的图片网站
  • 织梦网站底端的怎么删除优化公司网站
  • 做网站国内阿里云虚拟主机多少钱黄冈建设信息网
  • 网站联盟营销企业网站设计与规划论文
  • 目前流行的网站开发技术代理公司注册有哪些
  • wordpress公司网站模板中国营销传播网官网
  • 58临沂网站建设php网站怎么做post订单
  • collectfrom企业网站模版环保网站设计价格
  • 女的和男的做那个视频网站关于网站开发的外文翻译
  • 苏州园区做网站软件wap网站
  • 网站建设服务深圳办公室装修流程
  • 搜索网站有哪几个电商详情页用什么软件做的
  • 现在网站给源码网络公司给别人做网站的cms是买的授权么
  • 少儿编程加盟店排名seo推广软件排名
  • 手机制作音乐的软件app遂宁网站优化
  • 做婚纱摄影网站价格济源制作网站
  • 纯静态网站页面优化网站建设详细方案
  • 网页制作网站花店凡科怎样免费做网站
  • 关于网站建设的一些事晋中学院教务网络管理系统
  • 自己做第一个网站游戏交易平台
  • 建设一个企业网站要多少钱管理咨询公司企业简介
  • 在网上做游戏网站违法吗做网站应该买哪一种服务器
  • 珍岛外贸网站建设电子商务经营范围有哪些?
  • 欧洲站vat激活最好的网站建设免费的
  • 江苏连云港网站制作公司淮安网站建设公司