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

青岛网站制作计划网站如何收录

青岛网站制作计划,网站如何收录,餐饮网站建设的毕设报告,网站域名怎么备案【LetMeFly】2316.统计无向图中无法互相到达点对数#xff1a;广度优先搜索#xff08;BFS#xff09; 力扣题目链接#xff1a;https://leetcode.cn/problems/count-unreachable-pairs-of-nodes-in-an-undirected-graph/ 给你一个整数 n #xff0c;表示一张 无向图 中…【LetMeFly】2316.统计无向图中无法互相到达点对数广度优先搜索BFS 力扣题目链接https://leetcode.cn/problems/count-unreachable-pairs-of-nodes-in-an-undirected-graph/ 给你一个整数 n 表示一张 无向图 中有 n 个节点编号为 0 到 n - 1 。同时给你一个二维整数数组 edges 其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相到达 的不同 点对数目 。 示例 1 输入n 3, edges [[0,1],[0,2],[1,2]] 输出0 解释所有点都能互相到达意味着没有点对无法互相到达所以我们返回 0 。示例 2 输入n 7, edges [[0,2],[0,5],[2,4],[1,6],[5,4]] 输出14 解释总共有 14 个点对互相无法到达 [[0,1],[0,3],[0,6],[1,2],[1,3],[1,4],[1,5],[2,3],[2,6],[3,4],[3,5],[3,6],[4,6],[5,6]] 所以我们返回 14 。提示 1 n 1050 edges.length 2 * 105edges[i].length 20 ai, bi nai ! bi不会有重复边。 方法一广度优先搜索BFS 这道题的关键就是统计出每个子图的大小。假设原图是由大小为a、b、c的三个子图构成的那么答案 a n s a × ( b c ) b × ( a c ) c × ( a b ) a × ( n − a ) b × ( n − b ) c × ( n − c ) ans a\times(b c) b\times(ac)c\times(ab) a\times (n-a)b\times(n-b)c\times(n-c) ansa×(bc)b×(ac)c×(ab)a×(n−a)b×(n−b)c×(n−c)。 怎么统计出每个子图有多少个节点呢广搜一遍就行了。使用visited数组来记录哪个节点被遍历过从 0 0 0到 n − 1 n-1 n−1枚举遇到没遍历过的节点就开始广搜统计这个子图的节点个数并标记处理过的节点。 时间复杂度 O ( n l e n ( e d g e s ) ) O(n len(edges)) O(nlen(edges))空间复杂度 O ( n l e n ( e d g e s ) ) O(n len(edges)) O(nlen(edges)) AC代码 C typedef long long ll; class Solution { public:ll countPairs(int n, vectorvectorint edges) {vectorvectorint graph(n);for (auto v : edges) {graph[v[0]].push_back(v[1]);graph[v[1]].push_back(v[0]);}vectorll sizes;vectorbool visited(n);for (int i 0; i n; i) {if (visited[i]) {continue;}int cntNode 0;visited[i] true;queueint q;q.push(i);while (q.size()) {int thisNode q.front();cntNode;q.pop();for (int t : graph[thisNode]) {if (!visited[t]) {visited[t] true;q.push(t);}}}sizes.push_back(cntNode);}ll ans 0;for (ll t : sizes) {ans t * (n - t);}return ans / 2;} };Python # from typing import Listclass Solution:def countPairs(self, n: int, edges: List[List[int]]) - int:graph [[] for _ in range(n)]for a, b in edges:graph[a].append(b)graph[b].append(a)visited [False] * nsizes []for i in range(n):if visited[i]:continuecntNode 0visited[i] Trueq [i]while q:thisNode q.pop()cntNode 1for t in graph[thisNode]:if not visited[t]:visited[t] Trueq.append(t)sizes.append(cntNode)ans 0for t in sizes:ans t * (n - t)return ans // 2 同步发文于CSDN原创不易转载经作者同意后请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/133962709
http://wiki.neutronadmin.com/news/158253/

相关文章:

  • 网站怎样做百度推广新产品推广方案策划
  • wordpress 网站收录歌曲网站模板
  • 农村电商网站设计与发展现状做网站就是做信息整合
  • 一步步教你做电商网站如何用dw做网站
  • 网站建设无锡iphone手机网站建设
  • 蛇口网站建设湖南网站建设360o
  • 东莞商贸公司寮步网站建设价格网站开发公司组织架构
  • 网站建设网络推广平台一个网站的tdk是指网站的
  • 外贸网站流量分析简单asp网站
  • 长春火车站到龙嘉机场怎么走网站建设高级开发语言
  • 网站开发需求统计物流网站前端模板下载
  • 正规免费网站建设公司各大网站开发的区块链
  • 登陆国外的网站要这么做网站说服力 营销型网站策划
  • 广州专业网站设计公司常见的手机网站
  • ps做网站教程株洲市民健康提醒
  • 化妆品网站模板下载浙江建设厅官方网站
  • 毕业设计网站建设企业邮箱什么样子
  • 情趣官方网站怎么做代理ppt模板免费下载素材库
  • 华企在线网站建设商洛做网站的公司电话
  • 关于门户网站改版建设报告小说类网站功能建设
  • 2018网站建设合同范本seo优化个人博客
  • 财务公司网站建设wordpress博客站搭建
  • 做网站导航一般字号是多少网站建设案例哪家好
  • 做细分行业信息网站外贸流程英文版
  • 旅游网站论文wordpress支付宝即时到帐
  • 门头沟青岛网站建设南昌二手房
  • 站群cms系统网站建设需要英语吗
  • wordpress进入站点什么是交换链接
  • 企业内部网站做庭院的网站
  • 微商做图王官方网站wdcp网站备份