【图论】树的重心

 树的重心

删去这一点后每一块中点数最为平均

统计以u为根的子树点数个数(加上一个本身,从哪里来的),这里点都是一样的

s846. 树的重心 - AcWing题库 

#include <iostream>
#include <algorithm>
#include <cstring>
#define INF 0x3f3f3f3fusing namespace std;
struct Edge{int to;
int next;}edge[200001];
int tot;
int n;
int head[100001];
bool st[100001];
int ans=INF;
//无向边void add(int u,int v){
edge[++tot].next=head[u];
edge[tot].to=v;
head[u]=tot;}//返回以u为根的子树中节点的个数,包括u节点
int dfs(int u) {int res = 0; //存储 删掉某个节点之后,最大的连通子图节点数st[u] = true; //标记访问过u节点// sum用于记录根子树的个数int sum = 1; //存储 以u为根的树 的节点数, 包括u,如图中的4号节点//访问u的每个子节点for (int i = head[u];~i;i=edge[i].next) {int j = edge[i].to;//因为每个节点的编号都是不一样的,所以 用编号为下标 来标记是否被访问过if (!st[j]) {int s = dfs(j);  // u节点的单棵子树节点数 如图中的size值res = max(res, s); // 记录最大联通子图的节点数sum += s; //以j为根的树 的节点数}}//n-sum 如图中的n-size值,不包括根节点4;res = max(res, n - sum); // 选择u节点为重心,最大的 连通子图节点数ans = min(res, ans); //遍历过的假设重心中,最小的最大联通子图的 节点数return sum;
}int main() {memset(head, -1, sizeof head); //初始化h数组 -1表示尾节点cin >> n; //表示树的结点数// 题目接下来会输入,n-1行数据,// 树中是不存在环的,对于有n个节点的树,必定是n-1条边for (int i = 0; i < n - 1; i++) {int a, b;cin >> a >> b;add(a, b), add(b, a); //无向图}dfs(1); //可以任意选定一个节点开始 u<=ncout << ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt之·类QCoreApplication】

系列文章目录 文章目录 前言一、QCoreApplication的概述1.1 QCoreApplication的作用1.2 QCoreApplication在应用程序中的角色和功能1.3 QCoreApplication成员函数 二、QCoreApplication的常用功能2.1 事件循环的概念和作用2.2 处理应用程序事件循环2.3 QCoreApplication如何处理…

16、24年--信息系统工程——软件工程

本章主要靠选择题,4分左右,案例涉及概率不大,论文不会单独考,多看课本原文。 1、架构设计 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织架…

前端面试题(14)|求职季面试题分享|答案

1、你知道Xss和Csrf攻击吗&#xff1f; - XSS(跨站脚本攻击)是指攻击者将恶意代码注入到网页中,当用户访问该页面时,恶意代码会在用户的浏览器中执行,从而窃取用户的信息或执行恶意操作。 - CSRF(跨站请求伪造)是指攻击者盗用用户的身份,以用户的名义发送恶意请求,从而执行非法…

Caused by: java.util.ConcurrentModificationException

Caused by: java.util.ConcurrentModificationException 1. 关于 ConcurrentModificationException 报错2. 报错日志3. 代码逻辑doInBackground4. 修改方案5. 方案解析 1. 关于 ConcurrentModificationException 报错 在 Java 中&#xff0c;当尝试在迭代过程中修改对象的结构…

【星海出品】Langchain

Introduction 数学字符大全 | LangChain LLM语言模型 P(Ω1,Ω2,Ω3)N元语法模型:使用统计的方式进行语言模型的建模序列到序列模型(Seq2Seq),采用编码器-解码器的结构设计基于机器学习的语言模型:使用RNN模型进行语言模型的建模使用了 自注意力机制(Self-Attention Me…

游戏联运平台如何助力游戏行业飞速发展?

随着科技的进步和互联网的普及&#xff0c;游戏行业正以前所未有的速度飞速发展。在这个过程中&#xff0c;游戏联运平台凭借其独特的优势和功能&#xff0c;成为了推动游戏行业腾飞的关键力量。本文将探讨游戏联运平台如何助力游戏行业实现飞速发展。 一、游戏联运平台的定义与…

Linux下多线程的相关概念

&#x1f916;个人主页&#xff1a;晚风相伴-CSDN博客 &#x1f496;如果觉得内容对你有帮助的话&#xff0c;还请给博主一键三连&#xff08;点赞&#x1f49c;、收藏&#x1f9e1;、关注&#x1f49a;&#xff09;吧 &#x1f64f;如果内容有误或者有写的不好的地方的话&…

62、 忠北国立大学计算机科学系:FingerNet-专门用于细致MI分类的神经网络模型

本文由泡菜国高校于2024年3月6日发表于arXiv&#xff0c;做了一个专门处理运动想象信号的CNN模型&#xff0c;融合了EEGNet和DeepConvNet。 FingerNet是一种专门用于细致MI分类的网络&#xff0c;利用了时间特征&#xff0c;在相同手部分类任务中表现出比EEGNet和DeepConvNet更…

ts: 类型断言as

类型断言有两种形式 1. 尖括号语法 (value) let someValue: any "this is a string"; let strLength: number (<string>someValue).length;2. as 语法 (value as Type)&#xff1a; let someValue: any "this is a string"; let strLength:…

使用 MySQL 触发器 + 统计学生表实时计算表数据量

要使用 MySQL 触发器实时计算表数据量&#xff0c;您可以创建一个触发器&#xff0c;当插入、更新或删除学生表的数据时&#xff0c;触发器就会更新另一个表中保存的学生表数据量信息。以下是一个示例&#xff1a; 首先&#xff0c;假设您有一个名为 students 的学生表&#x…

低代码开发难吗?

在软件开发的多样化浪潮中&#xff0c;低代码开发平台以其简化的编程模型&#xff0c;为IT行业带来了新的活力。作为一位资深的IT技术员&#xff0c;我对低代码开发平台的易用性和强大功能有着深刻的认识。今天&#xff0c;我将分享我对YDUIbuilder这一免费开源低代码平台的使用…

【如何衡量相机标定结果的精度】相机标定评价函数

相关博客&#xff1a; 【鱼眼&#xff0b;普通相机】相机标定【opencv】图像畸变校正 一、简介 常用的衡量相机标定结果精度的评价标准&#xff1a; 畸变矫正效果&#xff1a;标定过程中会估计畸变系数&#xff0c;畸变矫正的效果可以通过比较矫正前后的图像来评估。如果畸变…

0.25W 1.5KVDC~3KVDC 隔离超小型单输出 DC/DC 电源模块——TKE-W25系列

TKE-W25系列隔离超小型单输出 DC/DC 电源模块是一款超小型单输出电源模块&#xff0c;工业级环境温度&#xff0c;用于PCB安装的国际标准结构。此系列产品小巧&#xff0c;效率高&#xff0c;低输出纹波,用于需要电压转换和隔离的场合&#xff0c;封装有SIP和DIP可选。

出租房水电抄表系统的全面解析

1.系统定义和功能 出租房水电抄表系统是一种智能的可视化工具&#xff0c;关键用于解决房东在经营好几个出租房源时&#xff0c;对水电的使用量统计分析、收费和管理上的问题。通过自动化抄表、收费和通告&#xff0c;此系统减轻了房东的工作负担&#xff0c;提高了效率&#…

达梦数据库安装手册

首先了解达梦数据库相关内容&#xff1a; 达梦在线服务平台 下载windows版本开发版&#xff0c;将下载的文件解压。进行安装 2、安装流程&#xff0c;默认选择下一步。 3、安装引导&#xff0c;默认下一步&#xff0c;安装实例可以进行修改 4、最后一步记录一下创建的摘要 …

JavaDS-学习数据结构之如果从零开始手搓顺序表,顺带学习自定义异常怎么用!

前言 笔者开始学习数据结构了,虽然笔者已经会用了,不管是C 中的stl亦或是Java 中的集合,为了算法比赛多少都突击过,但只知其然而不知其所以然,还是会限制发展的,因此,笔者写下这篇博客.内容是手搓一个顺序表.顺带加一点异常的使用,大伙看个乐子就好了.有错误直接私信喷我就好了…

清华大学提出IFT对齐算法,打破SFT与RLHF局限性

监督微调&#xff08;Supervised Fine-Tuning, SFT&#xff09;和基于人类反馈的强化学习&#xff08;Reinforcement Learning from Human Feedback, RLHF&#xff09;是预训练后提升语言模型能力的两大基础流程&#xff0c;其目标是使模型更贴近人类的偏好和需求。 考虑到监督…

Python flask怎么连接MySQL?

在Python中连接MySQL并使用模型创建新的表&#xff0c;通常我们会使用ORM&#xff08;对象关系映射&#xff09;库&#xff0c;比如SQLAlchemy或者Django ORM&#xff0c;它们允许我们定义Python类来映射到数据库中的表&#xff0c;并通过这些类进行数据库操作。下面是一个使用…

【Vue】v-else 和 v-else-if

作用&#xff1a;辅助v-if进行判断渲染 语法&#xff1a; v-else v-else-if"表达式"PS&#xff1a;需要紧接着v-if使用 示例代码&#xff1a; <body><div id"app"><p v-if"gender 1">性别&#xff1a;♂ 男</p><…

Java基础入门day60

day60 购物车案例补充 设置欢迎页 打开也系统&#xff0c;就可以直接看到商品列表页面 之前曾经设置过欢迎页&#xff0c;都是针对页面&#xff0c;可以有html页面&#xff0c;也可以有jsp页面 但是今天我们将一个servlet设置成欢迎页 在web.xml文件中设置欢迎页 <welcome…