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

霸气业务网站源码医院网站HTML5

霸气业务网站源码,医院网站HTML5,网站建设案例分析,济南一哥网站建设公司树的重心 给定一颗树#xff0c;树中包含 n n n 个结点#xff08;编号 1 ∼ n 1∼n 1∼n#xff09;和 n − 1 n−1 n−1条无向边。请你找到树的重心#xff0c;并输出将重心删除后#xff0c;剩余各个连通块中点数的最大值。 重心定义#xff1a; 重心是指树中的一…树的重心 给定一颗树树中包含 n n n 个结点编号 1 ∼ n 1∼n 1∼n和 n − 1 n−1 n−1条无向边。请你找到树的重心并输出将重心删除后剩余各个连通块中点数的最大值。 重心定义 重心是指树中的一个结点如果将这个点删除后剩余各个连通块中点数的最大值最小那么这个节点被称为树的重心。 输入格式 第一行包含整数 n n n表示树的结点数。 接下来 n − 1 n−1 n−1 行每行包含两个整数 a a a 和 b b b表示点 a a a 和点 b b b 之间存在一条边。 输出格式 输出一个整数 m m m表示将重心删除后剩余各个连通块中点数的最大值。 数据范围 1 ≤ n ≤ 105 1≤n≤105 1≤n≤105 输入样例 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 Fn-sum-1 Fn−sum−1其中 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.huolong8.cn/news/7759/

相关文章:

  • 个体商户建自己的网站做销售计算机网络技术就业方向及前景
  • 肥西县重点工程建设管理局网站做网站和推广工资多少
  • 网站创建方案论文wordpress收录提高
  • 做防水的网站有哪些塑胶 东莞网站建设
  • 网站推广方式组合营销系统架构
  • 郑州cms建站模板福步论坛
  • 2018年做视频网站网站建设先进城市
  • 高端婚恋网站排名企业营销推广方案
  • 优化关键词排名推广搜索引擎优化人员优化
  • 网站如何做后台留言一级a做爰片免费网站丶
  • 网站没有索引量是什么意思网站服务器在哪可以看
  • 建设信用卡积分商城网站广州网站建设性价比
  • 临沂专业网站制作公司做旅游攻略比较好的网站
  • 公司网站seo公司网络设计师工资
  • 海外推广网站wordpress 阅读量
  • 保定网页模板建站北京网站设计研究与开发公司
  • 做网站怎么打空格中国乐清
  • 专题探索网站开发教学模式的结构深圳做网站建设比较好的公司
  • 网站开发哪种专业项目网上备案查询系统
  • 阿里云域名 设置网站网站建设网页制作软件
  • 广东营销型网站建设报价珠海电子商务网站建设
  • 南充网站制作wordpress开源社区
  • 网站设计外包协议中国设计师网站
  • 个人主页网站申请做网站都用什么软件
  • 惠水网站建设wordpress gettheauthormeta
  • 自己做购物网站怎么做新沂网页设计
  • 网站建设的内容是什么重庆商城网站建设公司
  • 科技网站设计公司有哪些WordPress应用市场模板
  • 青岛做网站建设哪家好晚上睡不着正能量网站
  • 网络管理登录入口网站优化有前途吗