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

政务公开网站建设整改方案哈尔滨自助建站系统

政务公开网站建设整改方案,哈尔滨自助建站系统,站点搜索,网站建设推广资讯【LetMeFly】2477.到达首都的最少油耗#xff1a;深度优先搜索(DFS) 力扣题目链接#xff1a;https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital/ 给你一棵 n 个节点的树#xff08;一个无向、连通、无环图#xff09;#xff0c;每个节点表示一…【LetMeFly】2477.到达首都的最少油耗深度优先搜索(DFS) 力扣题目链接https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital/ 给你一棵 n 个节点的树一个无向、连通、无环图每个节点表示一个城市编号从 0 到 n - 1 且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads 其中 roads[i] [ai, bi] 表示城市 ai 和 bi 之间有一条 双向路 。 每个城市里有一个代表他们都要去首都参加一个会议。 每座城市里有一辆车。给你一个整数 seats 表示每辆车里面座位的数目。 城市里的代表可以选择乘坐所在城市的车或者乘坐其他城市的车。相邻城市之间一辆车的油耗是一升汽油。 请你返回到达首都最少需要多少升汽油。 示例 1 输入roads [[0,1],[0,2],[0,3]], seats 5 输出3 解释 - 代表 1 直接到达首都消耗 1 升汽油。 - 代表 2 直接到达首都消耗 1 升汽油。 - 代表 3 直接到达首都消耗 1 升汽油。 最少消耗 3 升汽油。示例 2 输入roads [[3,1],[3,2],[1,0],[0,4],[0,5],[4,6]], seats 2 输出7 解释 - 代表 2 到达城市 3 消耗 1 升汽油。 - 代表 2 和代表 3 一起到达城市 1 消耗 1 升汽油。 - 代表 2 和代表 3 一起到达首都消耗 1 升汽油。 - 代表 1 直接到达首都消耗 1 升汽油。 - 代表 5 直接到达首都消耗 1 升汽油。 - 代表 6 到达城市 4 消耗 1 升汽油。 - 代表 4 和代表 6 一起到达首都消耗 1 升汽油。 最少消耗 7 升汽油。示例 3 输入roads [], seats 1 输出0 解释没有代表需要从别的城市到达首都。提示 1 n 105roads.length n - 1roads[i].length 20 ai, bi nai ! biroads 表示一棵合法的树。1 seats 105 方法一深度优先搜索(DFS) 车是可以随时“丢弃”与“重选”的因此我们只需要知道“每一步”有多少人即可。 从“根节点”0开始深搜深搜过程中对于节点node 假设node有数个子节点各个子节点为根的子树的大小分别为 a 1 a_1 a1​ a 2 a_2 a2​… 那么从这些节点到达节点node分别需要耗油 ⌈ a 1 s e a t s ⌉ \lceil\frac{a_1}{seats}\rceil ⌈seatsa1​​⌉ ⌈ a 2 s e a t s ⌉ \lceil\frac{a_2}{seats}\rceil ⌈seatsa2​​⌉… 将这些耗油累加到答案中同时也得到了以节点node为根的子树的大小。 上述过程中所有人一同往根节点的方向走一步就将耗油累加到了答案中因此最终返回答案即可。 时间复杂度 O ( N 2 ) O(N^2) O(N2)空间复杂度 O ( N log ⁡ N ) O(N\log N) O(NlogN) AC代码 C class Solution { private:long long ans;vectorvectorint graph;vectorbool visited;long long dfs(int node, int seats){visited[node] true;int cnt 1;for (int toNode : graph[node]) {if (!visited[toNode]) {long long peopleFromThatNode dfs(toNode, seats);cnt peopleFromThatNode;ans (peopleFromThatNode seats - 1) / seats;}}return cnt;}public:long long minimumFuelCost(vectorvectorint roads, int seats) {ans 0;graph vectorvectorint(roads.size() 1);visited vectorbool(roads.size() 1);for (auto road : roads) {graph[road[0]].push_back(road[1]);graph[road[1]].push_back(road[0]);}dfs(0, seats);return ans;} };Python # from typing import Listclass Solution:def dfs(self, node: int) - int:self.visited[node] Truecnt 1for nextNode in self.graph[node]:if not self.visited[nextNode]:peopleFromThatNode self.dfs(nextNode)cnt peopleFromThatNodeself.ans (peopleFromThatNode self.seats - 1) // self.seatsreturn cntdef minimumFuelCost(self, roads: List[List[int]], seats: int) - int:self.ans 0self.graph [[] for _ in range(len(roads) 1)]for from_, to in roads:self.graph[from_].append(to)self.graph[to].append(from_)self.visited [False] * (len(roads) 1)self.seats seatsself.dfs(0)return self.ans同步发文于CSDN原创不易转载经作者同意后请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/134816086
http://www.huolong8.cn/news/266710/

相关文章:

  • 网站怎么做百度认证吗wordpress适用于图片站的主题
  • html5 企业国际网站 多国家 多语言 源代码 cookiesj集团公司的网站建设
  • php网站建设案例明月 WordPress
  • 网站域名的后缀毕业设计网站
  • 博罗建设银行网站平台公司和项目公司的区别
  • 嘉兴建设公司网站深圳网站设计与制作
  • 网站建设管理员工工资多少做百度手机网站快
  • 怎么查询网站的设计公司名称山东建设银行招聘网站
  • wordpress 制作手机站腾讯云 部署wordpress
  • 怎么在雅虎做网站收入精美ppt模板免费下载百度云
  • 开发东莞网站制作公司百度信息流广告代理
  • 做网站分辨率设置多少新闻发布会的流程
  • 网站怎么做图片栏目wordpress同标题关键字
  • 上海网站报价网站制作做网站
  • 汽车4s网站设计做外贸是不是要有网站
  • 视频网站搭建源码网站logo设计教程
  • 张家口市住房和城乡建设局网站郑州seo关键词推广
  • 上海网站建设觉策动力软件工程师证书有哪些
  • 怀化做网站的公司网站开发完没人运营
  • 莱芜网站优化有哪些谷歌云做网站服务器
  • 网页设计与制作课程定位沈阳网站建设seo优化
  • 上海建科建设监理网站网站文案技巧
  • 中国城市建设网站遵义网站建设哪家好?
  • 医院网站建设的规划wordpress手机全部显示图片
  • 济南卓远网站建设关于网站开发的文章
  • 深圳网站建设服务公司阿里云9元做网站
  • 昆明企业网站制作东莞招标网官网
  • 淘宝营销网站建设成都网站seo费用
  • 电信的网做的网站移动网打不开该找电信还是移动企业网站系统有哪些
  • pc网站做成移动网站东营网站seo外包