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

评网网站建设手机如何建网站

评网网站建设,手机如何建网站,怀远做网站,建设一个购物网站需要什么题目一:树的重心 846. 树的重心 - AcWing题库 分析 采用暴力枚举,试探每个点,除去之后,连通分量最大值是多少, 各个点的最大值找最小的 因为可以通过 dfs 来得到 根u以下点数,以及可以求各分树的点数&am…

题目一:树的重心

846. 树的重心 - AcWing题库

 

分析

采用暴力枚举,试探每个点,除去之后,连通分量最大值是多少, 各个点的最大值找最小的

因为可以通过 dfs 来得到 根u以下点数,以及可以求各分树的点数,

所以采用 邻接表存储数据的方式。

vis 标记搜索

需要存 最终答案 ans

需要存每个顶点及其以下点数 sum , 需要存每个顶点子树 res

代码 

#include<bits/stdc++.h>
using namespace std;const int N = 1e5+10, M = 2*N;int h[N], e[M], ne[M], idx;
int n;
int ans = N; bool vis[N];
// 前插法将b插入a链表
void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
// 以u为根子树的点的大小
int dfs(int u) {vis[u] = true; // 搜索int sum = 1, res = 0; // 以u为,根子树大小, ans 为除去根for(int i = h[u]; i != -1; i = ne[i]) {int j = e[i];if(!vis[j]) {int s = dfs(j);res = max(res,s); // 该根多个子树的最大值sum += s; // 该根往下的总和}}res = max(res,n-sum); // 该根往下最大值,以及 剩下的比较ans = min(ans,res); //求到了除去u连通分量点最大值, 更新暴力枚举中每个u的最小值。return sum;//往上返回点数
}int main() {memset(h,-1,sizeof h);cin >> n;for(int i = 0; i < n-1; i ++) {int a, b;cin >> a >> b;add(a,b), add(b,a); // 搭建无向图}dfs(1);//都是可以相通的,随便dfs一个顶点cout << ans << endl;return 0;
}

http://www.ds6.com.cn/news/57943.html

相关文章:

  • 做网站百度推广多少钱软文范文大全1000字
  • 陕西营销型手机网站建设关键词查询工具哪个好
  • 做网站怎样找违禁网站用什么浏览器
  • 天站网站建设打开百度网站首页
  • 湛江专业网站建设怎么做google play商店
  • 中国供应商网做网站免费发帖推广的平台
  • 网站建立快捷方式软文范例200字
  • wordpress 左图右文seo排名优化方法
  • 游戏公司做网站手机网站模板下载
  • 湖南网站建设的公司排名seo优化必备技巧
  • 怎样做钓鱼网站seopeixun com cn
  • 移动端网站开发论文中国营销传播网官网
  • 成都锦江建设局网站百度助手app下载
  • 网站特效怎么做的网上营销模式
  • 天河做网站平台成都私人网站建设
  • 深圳 网站开发公司上海培训机构排名
  • 商品展示网站模板源码佛山网站优化排名推广
  • 北京低价网站建设恶意点击软件哪几种
  • 群晖wordpress 站点域名注册平台有哪些
  • wordpress 放视频宁波seo费用
  • 怎样建个人网站文章推广平台
  • 销氪crm河南平价的seo整站优化定制
  • 最新新闻消息事件超级seo外链工具
  • 到国外网站上做兼职翻译厦门百度seo
  • 网站前置审批项 教育中国免费广告网
  • 建设公司网站怎么弄搜索引擎优化实训
  • 制作一个网站官网太原seo关键词优化
  • 长沙品牌网站建设淘宝运营培训班哪里有
  • 做书籍封皮的网站企业软文范例
  • 如何提升做网站的效率小说关键词生成器