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

网站建设公司在哪里宣传怎样做关键词排名优化

网站建设公司在哪里宣传,怎样做关键词排名优化,html网页简单,网站icp备案信息是什么意思树的重心 给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1∼n 1∼n)和 n − 1 n−1 n−1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义: 重心是指树中的一…

树的重心

给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1∼n 1n)和 n − 1 n−1 n1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。
重心定义: 重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。

输入格式

第一行包含整数 n n n,表示树的结点数。

接下来 n − 1 n−1 n1 行,每行包含两个整数 a a a b b b,表示点 a a a 和点 b b b 之间存在一条边。

输出格式

输出一个整数 m m m,表示将重心删除后,剩余各个连通块中点数的最大值。

数据范围

1 ≤ n ≤ 105 1≤n≤105 1n105

输入样例

9
1 2
1 7
1 4
2 8
2 5
4 3
3 9
4 6

输出样例

4

思路

  • 基本框架: D F S DFS DFS
  • 判断一个结点是否是重心的方法:
    • 假设当前按照深度优先的次序遍历到第 k k k 个结点,我们删除这个结点之后会得到第 k k k 个结点的若干子树(每个子树都是一个连通块)以及一个包含第 k k k 个结点的父节点的连通块。
      在这里插入图片描述

    • 对于第 k k k 个结点的若干子树,我们可以通过递归的方式将子树的返回值设置为子树的节点数量,这样就可以非常高效地获取每个子树所对应的连通块的节点数量

    • 而对于包含第 k k k 个结点的父节点的连通块,它的节点数量可以由如下公式计算 F = n − s u m − 1 F=n-sum-1 F=nsum1其中 n n n 为树的总节点数, s u m sum sum为所有子树构成的连通块的结点总数,1代表第 k k k 个结点

    • 而我们的目标是求出将重心删除后,剩余各个连通块中点数的最大值,因此可以设置一个全局变量保存答案,然后在 D F S DFS DFS 的过程中不断更新它,具体更新的方式见代码。

代码

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//树的重心,链式前向星,DFS
const int maxn = 1e5 + 1;
int n, head[maxn], len = 0, vis[maxn], ans = 1e6 - 5;struct Node {int to, next;
}e[2 * maxn];void add_edge(int u, int v) {e[++len].to = v;e[len].next = head[u];head[u] = len;
}int dfs(int k) {int son_max = 0, sum = 0;for (int i = head[k]; i; i = e[i].next) {int v = e[i].to;if (!vis[v]) {vis[v] = 1;int v_num = dfs(v);vis[v] = 0;sum += v_num;son_max = v_num > son_max ? v_num : son_max;}}// 更新答案ans = min(ans, max(son_max, n - sum - 1));return sum + 1;
}int main() {cin >> n;for (int i = 1; i < n; i++) {int u, v; cin >> u >> v;add_edge(u, v);add_edge(v, u);}dfs(1);cout << ans;return 0;
}
http://www.wangmingla.cn/news/137117.html

相关文章:

  • 网站建设网站模板百度一下搜索网页
  • java可以开发网站吗淘宝指数查询工具
  • 西安网络推广网站优化seo网络营销公司
  • 自己做的网站出现iis7徐州网站关键词排名
  • 广东深圳天气预报成都网站优化公司
  • 乌鲁木齐网站制作公司可靠吗百度识图在线入口
  • 重庆网站建设必选承越广州疫情最新新增
  • 东莞营销网站建设哪个平台好武汉网站搜索引擎优化
  • 网站续费服务内容微信管理系统平台
  • 西安专业的网站设计费用企业品牌策划
  • 西部数码做网站上海企业推广
  • 做阿里云网站企业门户网站的设计与实现
  • 文化传播做网站推广吗广州公司关键词网络推广
  • 网页游戏开服表就上囧游村南京seo网站优化
  • 域名访问网站应该怎么做廊坊seo排名扣费
  • 盘锦做网站电话app注册接单平台
  • 国内做化妆刷的比较好的网站互联网搜索引擎有哪些
  • 在越南做网站都是什么人软文网官网
  • wordpress支付宝微信收费深圳市网络seo推广平台
  • 企业网站怎么做推广比较好外链群发
  • 网络工作室注册需要多少钱seo线下培训课程
  • 百度站长平台工具网络的推广方式有哪些
  • 北海建设工程信息网站网络维护
  • 网上购物网站的设计与实现网络营销与直播电商是干什么的
  • 做二手车网站怎么做的哪里有网站推广优化
  • 北京高端网站制作在百度上做广告推广要多少钱
  • 网站后台验证码不正确seo搜索引擎优化期末考试
  • 郑州网站建设最便宜如何进行网站宣传推广
  • 最便宜的低价机票网站建设免费推广途径与原因
  • 怎么制作网站软件网上销售培训课程