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

怎么写网站规划方案网站关键词怎么设置

怎么写网站规划方案,网站关键词怎么设置,wordpress缩略图利器,网站制作 客户刁难文章目录 重心实践题目小红的陡峭值 在树的算法中,求解树的中心和重心是一类十分重要的算法 求解树的重心 树的重心的定义:重心是树中的一个节点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点…

文章目录

    • 重心实践题目
      • 小红的陡峭值

  • 在树的算法中,求解树的中心和重心是一类十分重要的算法

求解树的重心

  • 树的重心的定义:重心是树中的一个节点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点称为树的重心
  • 求解重心需要记录的值:由于重心关注的是删除一个节点之后,剩余的连通分支中点的最大值,然后这个值要求是最小的,然后需要返回这个最小化的最大值。
  • 删除一个节点之后,会分为几个部分,节点u的所有子树所独立出来的子树,以及原本的树删除以u为根节点的树
  • 所以要记录,u的所有子树当中,size子树的最多节点数,sumnunm以u为根节点的节点数(用于dfs的返回值),n-sumnum除去以u为根节点的剩余部分的节点数
  • 值得注意的是,遍历的之后是从根节点到叶子节点,但是我们是在归(叶子节点到根节点)中的过程中,更新答案的
  • 由于是 无向图,所以要么设置vis[i]标记节点是否访问过,要么设置dfs(u,fa)其中fau的父亲节点

在这里插入图片描述

在这里插入图片描述

  • c代码
    在这里插入图片描述

在这里插入图片描述

int dfs(int u)
{vis[u] = true; //为了不重复搜索,所以得标记int size = 0; // 记录u的子树中的最大节点数int sum = 1; // 记录以u为根节点的子树的节点总数for(int i = h[u];i!=-1;i=ne[i]){int j = e[i];if (vis[j]) continue;int s = dfs(j);size = max(size,s);sum += s;}ans = min(ans,max(size,n-sum));return sum;
}
  • python 代码
# 使用邻接表来存储点之间的边关系
g = [[]*n ]
vis = [False]*n
ans = n
def dfs(u): global ansvis[u] = Truesumnum = 1 # 记录以u为根节点的子树的总节点数size = 0 # 记录 u的子树当中最大的节点数for v in g[u]:if vis[v]: continue # 如果访问过就跳过s = dfs(v) # 求解出以v为根节点的子树的节点数size = max(size,s) # 更新答案sumnum += s# 更新这个ansans = min(ans,max(size,n-sumnum))  return sum

重心实践题目

小红的陡峭值

小红的陡峭值

在这里插入图片描述
在这里插入图片描述

  • 这题与求解重心的思路十分相似:都是删除一部分,关注剩余的部分的情况
  • 不一样的是,由于删除的是,所以只会将原本的树分为两个部分,但是还是存在一个对应的关系
求解重心求解陡峭值
总的值定点数n全部边的陡峭值esum
删除的部分顶点
dfs返回的值以u为顶点的子树的总顶点数以u为顶点的子树的陡峭值
关注的部分以u为顶点的子树当中,顶点的最大数,这个数目会被拿去更新ans并不关心以u为顶点的子树的陡峭值的最值,而是对于每一个子树的情况都会拿去更新ans
import sys
sys.setrecursionlimit(10 ** 6)
n = int(input())
g = [[] for _ in range(n+1)]# 类似于求解这个 重心的问题,问题的关键在于从根到叶子,同时在叶子返回这个根的时候动态更新答案
esum = 0
for i in range(n-1):u,v = map(int,input().split())g[u].append(v)g[v].append(u)esum += abs(u-v)ans = float("inf")
vis = [False]*(n+1)def dfs(u):global ansvis[u] = True# 需要记录以u为根的陡峭值,以及子树的陡峭值sumnum = 0for v in g[u]:if vis[v]: continues = dfs(v)sumnum += abs(u-v) + s # 更新答案ans = min(abs(esum-abs(u-v)-s-s),ans)return sumnum
dfs(1)
print(ans)
http://www.dtcms.com/wzjs/338910.html

相关文章:

  • 怀柔成都网站建设四川网络推广推广机构
  • 阿玛尼手表网站免费企业网站管理系统
  • 新建站点的步骤百度seo优化系统
  • 网站网站制作400多少钱十大培训机构教育培训机构哪家好
  • 自己做网站销售产品推广计划怎么写
  • 网站备案建设方案网站如何发布
  • 哪个网站比较好网站模板搭建
  • 怎么发布自己做的网站亚马逊跨境电商个人开店
  • 内部网站做登陆内部链接网站推广优化价格
  • 医院网站做品牌推广需要哪些提高网站排名
  • wordpress更改轮播图临沂做网络优化的公司
  • 湖南做旅游网站东莞疫情最新消息通知
  • 常州谷歌优化什么是网站seo
  • 浦东建设网站制作遵义网站seo
  • 做网站app的工资高吗手机百度搜索引擎入口
  • 和小学生做的黄色网站新闻头条免费下载安装
  • 网站建设方向课程八零云自助建站免费建站平台
  • 制作公司网站有哪些好处网络营销工具有哪些?
  • 百度收录网站怎么更改关键词seo网站优化流程
  • 深圳建设执业注册中心网站google官网登录入口
  • 如何渗透wordpress的网站济宁百度竞价推广
  • 网站怎么做搜索引擎优化seo的英文全称是
  • 一个网站服务器一年大概多少钱如何网上销售自己的产品
  • 广州市手机网站建设百度推广销售
  • 企业网站搭建程序安仁网络推广
  • 快云服务器怎么做网站最新全国疫情实时大数据
  • 赣州网站建设-赣州做网站怎么推广引流客户
  • 内蒙古生产建设兵团四师三十四团知青网站2023年最新新闻摘抄
  • 做彩票网站需要多少钱收录批量查询
  • 中小企业怎么优化网站汕头百度网站推广