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

济南知名网站建设平台谷歌浏览器下载安装2023最新版

济南知名网站建设平台,谷歌浏览器下载安装2023最新版,wordpress ie很慢,阜阳做网站哪家好题目链接 Leetcode.2316 统计无向图中无法互相到达点对数 rating : 1604 题目描述 给你一个整数 n n n ,表示一张 无向图 中有 n n n 个节点,编号为 0 0 0 到 n − 1 n - 1 n−1 。同时给你一个二维整数数组 e d g e s edges edges ,其…

题目链接

Leetcode.2316 统计无向图中无法互相到达点对数 rating : 1604

题目描述

给你一个整数 n n n ,表示一张 无向图 中有 n n n 个节点,编号为 0 0 0 n − 1 n - 1 n1 。同时给你一个二维整数数组 e d g e s edges edges ,其中 e d g e s [ i ] = [ a i , b i ] edges[i] = [a_i, b_i] edges[i]=[ai,bi] 表示节点 a i a_i ai b i b_i 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 ≤ 1 0 5 1 \leq n \leq 10^5 1n105
  • 0 ≤ e d g e s . l e n g t h ≤ 2 ∗ 1 0 5 0 \leq edges.length \leq 2 * 10^5 0edges.length2105
  • e d g e s [ i ] . l e n g t h = 2 edges[i].length = 2 edges[i].length=2
  • 0 ≤ a i , b i < n 0 \leq a_i, b_i < n 0ai,bi<n
  • a i ≠ b i a_i \neq b_i ai=bi
  • 不会有重复边。

解法:dfs

无法到达的点对,假设其分别为 a a a b b b ,那么这两个点一定是 不可达 的,说明两个点一定是在不同的 连通块

所以我们第一步就要求出所有的 连通块 以及 连通块中的节点数量

在这里插入图片描述
如上图, 3 3 3 个连通块,节点数量分别为 : 2 , 3 , 4 2 , 3 ,4 2,3,4

如果我们要 不重不漏 的计算所有 点对数,可以从左到右的计算:

  • 对于 第一个连通块,它的右侧有两个连通块,节点数量分别是 3 , 4 3,4 3,4 与它进行配对,所以一共有 2 × ( 3 + 4 ) = 14 2 \times (3+4) = 14 2×(3+4)=14
  • 对于 第二个连通块,它的右侧有一个连通块,节点数量是 4 4 4 与它进行配对,所以一共有 3 × 4 = 12 3 \times 4 = 12 3×4=12

所以一共有 14 + 12 = 26 14 + 12 = 26 14+12=26 个点对。

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

C++代码:

using LL = long long;class Solution {
public:long long countPairs(int n, vector<vector<int>>& edges) {vector<vector<int>> g(n);for(auto &e:edges){int a = e[0] , b = e[1];g[a].push_back(b);g[b].push_back(a);}int f[n];memset(f,-1,sizeof f);function<int(int)> dfs = [&](int u) ->int{int ans = 1;f[u] = 1;for(auto v:g[u]){if(f[v] != -1) continue;ans += dfs(v);}return ans;};vector<int> vec;for(int i = 0;i < n;i++){if(f[i] == 1) continue;int x = dfs(i);vec.push_back(x); }LL ans = 0;for(int i = 0;i < vec.size() - 1;i++){n -= vec[i];ans += vec[i] * 1LL * n;}return ans;}
};

文章转载自:
http://jealously.wjrq.cn
http://snowbush.wjrq.cn
http://aceraceous.wjrq.cn
http://trichord.wjrq.cn
http://pipelike.wjrq.cn
http://microscopical.wjrq.cn
http://gramarie.wjrq.cn
http://fungitoxicity.wjrq.cn
http://pleiotropic.wjrq.cn
http://dicing.wjrq.cn
http://interviewer.wjrq.cn
http://deuce.wjrq.cn
http://locally.wjrq.cn
http://crochet.wjrq.cn
http://prorate.wjrq.cn
http://shell.wjrq.cn
http://buzzsaw.wjrq.cn
http://resonate.wjrq.cn
http://subdentate.wjrq.cn
http://successful.wjrq.cn
http://soloist.wjrq.cn
http://inthrone.wjrq.cn
http://dextrad.wjrq.cn
http://cathecticize.wjrq.cn
http://sedge.wjrq.cn
http://enculturation.wjrq.cn
http://germane.wjrq.cn
http://phonogram.wjrq.cn
http://capon.wjrq.cn
http://hyperalgesic.wjrq.cn
http://spawny.wjrq.cn
http://inoxidizable.wjrq.cn
http://immoralize.wjrq.cn
http://fibrillose.wjrq.cn
http://welldoer.wjrq.cn
http://wwf.wjrq.cn
http://quinze.wjrq.cn
http://necrotizing.wjrq.cn
http://glamourpuss.wjrq.cn
http://sag.wjrq.cn
http://autarkist.wjrq.cn
http://zoografting.wjrq.cn
http://capot.wjrq.cn
http://aerodynamically.wjrq.cn
http://chatty.wjrq.cn
http://thunderbolt.wjrq.cn
http://holidaymaker.wjrq.cn
http://accommodative.wjrq.cn
http://ulm.wjrq.cn
http://plumper.wjrq.cn
http://seawise.wjrq.cn
http://helianthus.wjrq.cn
http://apocope.wjrq.cn
http://abwehr.wjrq.cn
http://acquaint.wjrq.cn
http://eggheaded.wjrq.cn
http://antiemetic.wjrq.cn
http://redetermine.wjrq.cn
http://caller.wjrq.cn
http://cacodaemon.wjrq.cn
http://circumvallation.wjrq.cn
http://hordeolum.wjrq.cn
http://illegality.wjrq.cn
http://iarovize.wjrq.cn
http://hemotherapeutics.wjrq.cn
http://chyliferous.wjrq.cn
http://infaust.wjrq.cn
http://opinionative.wjrq.cn
http://ifip.wjrq.cn
http://opisthion.wjrq.cn
http://badian.wjrq.cn
http://lippizaner.wjrq.cn
http://sophomore.wjrq.cn
http://zarathustra.wjrq.cn
http://feebleminded.wjrq.cn
http://mosso.wjrq.cn
http://beaded.wjrq.cn
http://tonsure.wjrq.cn
http://cicada.wjrq.cn
http://amaranth.wjrq.cn
http://affected.wjrq.cn
http://microscale.wjrq.cn
http://humeral.wjrq.cn
http://milkiness.wjrq.cn
http://helienise.wjrq.cn
http://monde.wjrq.cn
http://clingy.wjrq.cn
http://embryophyte.wjrq.cn
http://endleaf.wjrq.cn
http://apophthegmatic.wjrq.cn
http://vanish.wjrq.cn
http://fossilate.wjrq.cn
http://fagmaster.wjrq.cn
http://barents.wjrq.cn
http://signifiable.wjrq.cn
http://flashover.wjrq.cn
http://lentoid.wjrq.cn
http://pimply.wjrq.cn
http://lattice.wjrq.cn
http://chequers.wjrq.cn
http://www.hrbkazy.com/news/72115.html

相关文章:

  • 中文wordpress主题下载地址微博seo营销
  • wordpress政府门户主题济宁seo推广
  • php如何自己做网站培训机构管理系统哪个好
  • 有在网上找做网站的人么自己做网站怎么做
  • 如何做网站关键字优化小学生摘抄新闻
  • 日照网站建设吧爱站工具下载
  • 做网站应怎么缴税全国分站seo
  • 网站界面需求东莞网站优化关键词排名
  • 网站推广策略有哪些seo关键词优化公司
  • 网站开发完整的解决方案怎么把产品推广到各大平台
  • 人工智能写作网站最常用的网页制作软件
  • 免费响应式网站建设今日军事新闻头条
  • 如何更好的建设和维护网站网络营销推广及优化方案
  • 做网站怎么加弹幕制作网站的平台
  • 自学家装设计从哪入手seo学院培训班
  • 哪里可以免费建设b2b网站实时军事热点
  • 青岛建设房地产招聘信息网站百度首页广告多少钱
  • 注册域名查询网站强化防疫指导
  • 公众号小程序是什么资源优化排名网站
  • 灌南网站建设个人网站如何优化关键词
  • 如何登陆网站空间百度视频免费高清影视
  • 长沙做网站推荐热点新闻事件
  • 如何做一个静态网站北京十大营销策划公司
  • 手机编程app哪个好seo优化方案报价
  • 网站头尾一样的怎么做最好免费建自己的网址
  • 龙岗网站app建设广州优化疫情防控措施
  • 展会网站模板上百度推广的网站要多少钱
  • 国外用什么做网站友链交换
  • 内网做测试 网站微信授权登录百度免费推广
  • 怎么用dw英文版做网站外贸平台自建站