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

造价师在哪个网站做继续教育北京seo关键词

造价师在哪个网站做继续教育,北京seo关键词,网站费用清单,如何让别人网站降权Leetcode 3544. Subtree Inversion Sum 1. 解题思路2. 代码实现 题目链接:3544. Subtree Inversion Sum 1. 解题思路 这一题我的思路上就是一个动态规划的思路,因为原则上我们只需要遍历一下所有的状态即可,但是这样显然时间复杂度过高&am…
  • Leetcode 3544. Subtree Inversion Sum
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3544. Subtree Inversion Sum

1. 解题思路

这一题我的思路上就是一个动态规划的思路,因为原则上我们只需要遍历一下所有的状态即可,但是这样显然时间复杂度过高,因此我们采用一个动态规划的思路用空间换时间,即可完成上述题目的解答。

具体到实现上也是比较简单,首先就是利用边的内容获取一下整的这个树的结构。

然后我们就是一个遍历,遍历的时候需要记录一下每一个节点当前的正负相位,是否可以相位反转以及如果不可以反转的话,还需要多少深度才能够进行相位反转。

2. 代码实现

给出python代码实现如下:

class Solution:def subtreeInversionSum(self, edges: List[List[int]], nums: List[int], k: int) -> int:def get_graph(edges):graph = defaultdict(list)for u, v in edges:graph[u].append(v)graph[v].append(u)new_graph = defaultdict(list)def _dfs(u, p):for v in graph[u]:if v == p:continuenew_graph[u].append(v)_dfs(v, u)return _dfs(0, -1)return new_graphgraph = get_graph(edges)@lru_cache(None)def dfs(u, flag, d):if d == 0 or d >= k:ans = flag * nums[u]for v in graph[u]:ans += dfs(v, flag, 0)rev = - (flag * nums[u])for v in graph[u]:rev += dfs(v, -flag, 1)return max(ans, rev)else:ans = flag * nums[u]for v in graph[u]:ans += dfs(v, flag, d+1)return ansreturn dfs(0, 1, 0)

提交代码评测得到:耗时6642ms,占用内存774.9MB。

http://www.dtcms.com/wzjs/206654.html

相关文章:

  • 帮别人做时时彩网站重庆关键词seo排名
  • 企业建站用什么主机软件开发培训中心
  • 500人在线网站建设配置汕头seo网络推广服务
  • 旅游网站建设方案简介湖南长沙今日疫情
  • 网站自适应是什么做的网站测速工具
  • wordpress优化攻略天天seo站长工具
  • 广州网站设计价格建站系统软件有哪些
  • 用js做简单的网站页面seo营销外包
  • 怎么做提卡网站线上宣传推广方案
  • 建个网站做外贸公关公司的主要业务
  • 官方网站开发需要几个技术人员google安卓版下载
  • 帝国cms添加网站地图整站排名优化公司
  • 如何做博客网站公司搭建网站
  • seo网站营销推广怎么制作网站教程步骤
  • 商城顺德网站建设百度公司
  • 网站建设教程视频企业网络推广技巧
  • 做塑料的网站网络优化是干什么的
  • 京挑客网站建设seo推广怎么做
  • 乡镇做电器网站能不能营运郑州百度搜索优化
  • 做网站用什么笔记本2024年瘟疫大爆发
  • 合肥做淘宝网站推广企业培训课程表
  • 专业网站开发公司地址seo资料网
  • 中国城乡住房和城乡建设部网站首页百度总部投诉电话
  • 做网站前期构架图如何推广新产品的方法
  • 法律垂直问答网站怎样做设计网络推广方案
  • 如何制作一般企业网站成都爱站网seo站长查询工具
  • 网站开发通用流程网站广告投放收费标准
  • 自己做网站有哪些方法呢推广联盟
  • win2012 iis 新建网站广州权威发布
  • 团队协同网站开发西安seo优化顾问