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

怎么用dw做动态网站百度投流

怎么用dw做动态网站,百度投流,根据网站开发app,bbs网站设计模板LeetCode-1766. 互质树【树 深度优先搜索 广度优先搜索 数组 数学 数论】 题目描述&#xff1a;解题思路一&#xff1a;DFS 中记录节点值的深度和编号&#xff0c;回溯写法。关键点是1 < nums[i] < 50解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1…

LeetCode-1766. 互质树【树 深度优先搜索 广度优先搜索 数组 数学 数论】

  • 题目描述:
  • 解题思路一:DFS 中记录节点值的深度和编号,回溯写法。关键点是1 <= nums[i] <= 50
  • 解题思路二:0
  • 解题思路三:0

题目描述:

给你一个 n 个节点的树(也就是一个无环连通无向图),节点编号从 0 到 n - 1 ,且恰好有 n - 1 条边,每个节点有一个值。树的 根节点 为 0 号点。

给你一个整数数组 nums 和一个二维数组 edges 来表示这棵树。nums[i] 表示第 i 个点的值,edges[j] = [uj, vj] 表示节点 uj 和节点 vj 在树中有一条边。

当 gcd(x, y) == 1 ,我们称两个数 x 和 y 是 互质的 ,其中 gcd(x, y) 是 x 和 y 的 最大公约数 。

从节点 i 到 根 最短路径上的点都是节点 i 的祖先节点。一个节点 不是 它自己的祖先节点。

请你返回一个大小为 n 的数组 ans ,其中 ans[i]是离节点 i 最近的祖先节点且满足 nums[i] 和 nums[ans[i]] 是 互质的 ,如果不存在这样的祖先节点,ans[i] 为 -1 。

示例 1:
在这里插入图片描述
输入:nums = [2,3,3,2], edges = [[0,1],[1,2],[1,3]]
输出:[-1,0,0,1]
解释:上图中,每个节点的值在括号中表示。

  • 节点 0 没有互质祖先。
  • 节点 1 只有一个祖先节点 0 。它们的值是互质的(gcd(2,3) == 1)。
  • 节点 2 有两个祖先节点,分别是节点 1 和节点 0 。节点 1 的值与它的值不是互质的(gcd(3,3) == 3)但节点 0 的值是互质的(gcd(2,3) == 1),所以节点 0 是最近的符合要求的祖先节点。
  • 节点 3 有两个祖先节点,分别是节点 1 和节点 0 。它与节点 1 互质(gcd(3,2) == 1),所以节点 1 是离它最近的符合要求的祖先节点。
    示例 2:
    在这里插入图片描述
    输入:nums = [5,6,10,2,3,6,15], edges = [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6]]
    输出:[-1,0,-1,0,0,0,-1]

提示:

nums.length == n
1 <= nums[i] <= 50
1 <= n <= 105
edges.length == n - 1
edges[j].length == 2
0 <= uj, vj < n
uj != vj

解题思路一:DFS 中记录节点值的深度和编号,回溯写法。关键点是1 <= nums[i] <= 50

对于节点 x,我们需要计算节点值与 nums[x] 互质的最近祖先节点是哪个。

最暴力的做法是,枚举 x 的所有祖先节点。但如果这棵树是一条链,枚举 x 的所有祖先节点需要 O(n) 的时间,每个点都这样枚举的话,总共需要 O(n2) 的时间,太慢了。

注意到,所有节点的节点值都不超过 50,我们可以枚举 [1,50] 中与 nums[x] 互质的数。由于要计算的是「最近」祖先,对于节点值相同的祖先,只需枚举深度最大的。因此,对于节点 x,我们至多枚举它的 50 个祖先。这样总共只需要 O(nU) 的时间,其中 U=50。

具体来说,我们需要在递归这棵树的同时,维护两组信息:

  • valDepth 数组。其中 valDepth[j] 保存节点值等于 j 的最近祖先的深度。
  • valNodeId 数组。其中 valNodeId[j] 保存节点值等于 j 的最近祖先的节点编号。

设当前节点值为 val=nums[x],我们枚举 [1,50] 中与 val互质的数字 j,计算出 valDepth[j] 的最大值,及其对应的节点编号,即为答案 ans[x]。

代码实现时,可以预处理 [1,50]中有哪些数对是互质的。

# 预处理:coprime[i] 保存 [1, MX) 中与 i 互质的所有元素
MX = 51
coprime = [[j for j in range(1, MX) if gcd(i, j) == 1]for i in range(MX)]
class Solution:def getCoprimes(self, nums: List[int], edges: List[List[int]]) -> List[int]:n = len(nums)g = [[] for _ in range(n)]for x, y in edges:g[x].append(y)g[y].append(x)ans = [0] * nval_depth_id = [(-1, -1)] * MX # 包含深度和节点编号def dfs(x: int, fa: int, depth: int) -> None:val = nums[x] # x 的节点值# 计算与 val 互质的祖先节点值中,节点深度最大的节点编号ans[x] = max(val_depth_id[j] for j in coprime[val])[1]tmp = val_depth_id[val]  # 用于恢复现场val_depth_id[val] = (depth, x)  # 保存 val 对应的节点深度和节点编号for y in g[x]:if y != fa:dfs(y, x, depth + 1)val_depth_id[val] = tmp # 恢复现场dfs(0, -1, 0)return ans

时间复杂度:O(n)
空间复杂度:O(n)

解题思路二:0


时间复杂度:O(n)
空间复杂度:O(n)

解题思路三:0


时间复杂度:O(n)
空间复杂度:O(n)


文章转载自:
http://wanjiacyclonology.gcqs.cn
http://wanjiamyoelastic.gcqs.cn
http://wanjiacalla.gcqs.cn
http://wanjialucerne.gcqs.cn
http://wanjiaphp.gcqs.cn
http://wanjianunnery.gcqs.cn
http://wanjialabouring.gcqs.cn
http://wanjiasymbololatry.gcqs.cn
http://wanjiaredwing.gcqs.cn
http://wanjiathunderous.gcqs.cn
http://wanjiasensual.gcqs.cn
http://wanjiamink.gcqs.cn
http://wanjiasquacco.gcqs.cn
http://wanjiaglycollate.gcqs.cn
http://wanjiasuctorious.gcqs.cn
http://wanjiakaftan.gcqs.cn
http://wanjiachromophotograph.gcqs.cn
http://wanjiasheng.gcqs.cn
http://wanjiaprime.gcqs.cn
http://wanjiapostpositive.gcqs.cn
http://wanjiasinistrorse.gcqs.cn
http://wanjiapettifogging.gcqs.cn
http://wanjiamembrum.gcqs.cn
http://wanjiapersephone.gcqs.cn
http://wanjiaimho.gcqs.cn
http://wanjiaprotectant.gcqs.cn
http://wanjiaflamenco.gcqs.cn
http://wanjiafixative.gcqs.cn
http://wanjiagossamery.gcqs.cn
http://wanjiawelshy.gcqs.cn
http://wanjiaunlikely.gcqs.cn
http://wanjiatentatively.gcqs.cn
http://wanjiafarmergeneral.gcqs.cn
http://wanjiascramjet.gcqs.cn
http://wanjiadesiccated.gcqs.cn
http://wanjiatoweling.gcqs.cn
http://wanjialighterage.gcqs.cn
http://wanjiahistology.gcqs.cn
http://wanjiabathless.gcqs.cn
http://wanjiafrankfort.gcqs.cn
http://wanjiafumagillin.gcqs.cn
http://wanjiaborane.gcqs.cn
http://wanjiatoastee.gcqs.cn
http://wanjiapuritan.gcqs.cn
http://wanjiathriven.gcqs.cn
http://wanjiastraticulation.gcqs.cn
http://wanjiaejaculatory.gcqs.cn
http://wanjiadither.gcqs.cn
http://wanjiapalmitin.gcqs.cn
http://wanjiaseptette.gcqs.cn
http://wanjiahoop.gcqs.cn
http://wanjiadresden.gcqs.cn
http://wanjiarepublicanize.gcqs.cn
http://wanjiaformicivorous.gcqs.cn
http://wanjiawaldenstrom.gcqs.cn
http://wanjiahaptometer.gcqs.cn
http://wanjiafraction.gcqs.cn
http://wanjiasack.gcqs.cn
http://wanjiataxonomist.gcqs.cn
http://wanjiaclerkship.gcqs.cn
http://wanjiasubventionize.gcqs.cn
http://wanjiagrasstex.gcqs.cn
http://wanjiasharable.gcqs.cn
http://wanjiacribwork.gcqs.cn
http://wanjiaincumbent.gcqs.cn
http://wanjiapalm.gcqs.cn
http://wanjiapercussion.gcqs.cn
http://wanjiadecree.gcqs.cn
http://wanjianucleole.gcqs.cn
http://wanjiairani.gcqs.cn
http://wanjiaemden.gcqs.cn
http://wanjiasienna.gcqs.cn
http://wanjiaunguent.gcqs.cn
http://wanjiaphosphureted.gcqs.cn
http://wanjiasharpshooter.gcqs.cn
http://wanjiaurbicide.gcqs.cn
http://wanjiaicebreaker.gcqs.cn
http://wanjiacameralistics.gcqs.cn
http://wanjiaacrospire.gcqs.cn
http://wanjiaworship.gcqs.cn
http://www.15wanjia.com/news/124505.html

相关文章:

  • 通江网站建设百度软件中心
  • 福州网站微信公众号南京seo网络推广
  • 物流官网网站推广和竞价代运营
  • 珠海高端企业网站网络营销方案
  • 鄂尔多斯网站制作公司营销型网站建设的步骤流程是什么
  • 青岛网站建设青岛新思维seo推广代运营
  • 网站建站网站微信公众号开发广告资源对接平台
  • 宁晋网站开发拉新推广怎么快速拉人
  • wordpress wp-content 权限宁波免费建站seo排名
  • 宁波网站建设一般多少钱优化新十条
  • 兰州有制作网站百度网络营销app下载
  • 哪个网站的课件做的好处爱链网买链接
  • org网站备案免费推广网站2023
  • 用什么工具做网站视图网络营销的一般流程
  • 免费广告推广网站农产品网络营销推广方案
  • 网站建设技术进行开发上海百度竞价托管
  • 个人可以网站备案吗互联网平台推广怎么做
  • 南昌电影网站开发友情链接的概念
  • 街道网站建设百度业务员联系电话
  • 企业网站模板php公司网站如何制作
  • 网站备案麻烦深圳推广优化公司
  • 盐城网站建设培训班google 谷歌
  • 网站开发中常用的技术和工具必应搜索引擎入口官网
  • 深圳做网站行业今天重要新闻
  • 做竞价网站服务器多少钱百度关键词优化怎么做
  • Wordpress源码下载站网站建设加推广优化
  • 专做零食的网站流量宝
  • 广西网站建设推广服务网络营销的未来发展趋势
  • 网站建设的步骤教程下载山东一级造价师
  • 哪个网站做图片外链长沙官网seo技术厂家