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

网站建设论文最近新闻大事件

网站建设论文,最近新闻大事件,wordpress主题转换,快递网站怎么做的2316. 统计无向图中无法互相到达点对数 中等 给你一个整数 n ,表示一张 无向图 中有 n 个节点,编号为 0 到 n - 1 。同时给你一个二维整数数组 edges ,其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相…

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

中等

给你一个整数 n ,表示一张 无向图 中有 n 个节点,编号为 0n - 1 。同时给你一个二维整数数组 edges ,其中 edges[i] = [ai, bi] 表示节点 aibi 之间有一条 无向 边。

请你返回 无法互相到达 的不同 点对数目

示例 1:

在这里插入图片描述

输入:n = 3, edges = [[0,1],[0,2],[1,2]]
输出:0
解释:所有点都能互相到达,意味着没有点对无法互相到达,所以我们返回 0 。

示例 2:

img

输入: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 <= 105
  • 0 <= edges.length <= 2 * 105
  • edges[i].length == 2
  • 0 <= ai, bi < n
  • ai != bi
  • 不会有重复边。

DFS

class Solution {// 统计联通分量 个数 和 大小// 然后递推,求出点对个数// 例如 4 1 2// 4 * 1 + 5 * 2public long countPairs(int n, int[][] edges) {List<Integer>[] g = new ArrayList[n];Arrays.setAll(g, e -> new ArrayList<>());for(int[] e : edges){int x = e[0], y = e[1];g[x].add(y);g[y].add(x);}boolean[] vis = new boolean[n];List<Integer> list = new ArrayList<>();for(int i = 0; i < n; i++){if(!vis[i]){int cnt = dfs(i, -1, g, vis);list.add(cnt);}}long res = 0l, sum = 0l;for(Integer e : list){res += e * sum;sum += e;}return res;}private int dfs(int x, int fa, List<Integer>[] g, boolean[] vis){int res = 1;vis[x] = true;for(int y : g[x]){if(y != fa && !vis[y])res += dfs(y, x, g, vis);}return res;}
}

并查集

统计连通块大小可以用并查集做

class Solution {// 统计联通分量 个数 和 大小public long countPairs(int n, int[][] edges) {UF uf = new UF(n);for(int[] e : edges){uf.union(Math.max(e[0], e[1]), Math.min(e[0], e[1]));}Map<Integer, Integer> map = new HashMap<>();for(int i = 0; i < n; i++){map.merge(uf.find(i), 1, Integer::sum);}long res = 0l, sum = 0l;for(int x : map.keySet()){res += (long)map.get(x) * sum;sum += map.get(x);}return res;}
}/* ------------ 并查集模版 ------------ */
class UF {int[] parent; // par数组用来存储根节点,par[x]=y表示x的根节点为yint[] size; // size[i]表示以i为根的联通块大小int count; // count表示连通块个数,每次调用union时count-1public UF(int n) {this.count = n;parent = new int[n];size = new int[n];for (int i = 0; i < n; i++) {parent[i] = i;size[i] = 1;}}public void union(int x, int y) {int rootx = find(x);int rooty = find(y);if (rootx == rooty) return;else//不是同一个根,即不在同一个集合,就合并parent[rootx] = rooty;size[rooty] += size[rootx];count--;}public int find(int x) {// 路径压缩if (parent[x] != x) {parent[x] = find(parent[x]);}return parent[x];}
}

文章转载自:
http://counterthrust.nLcw.cn
http://hog.nLcw.cn
http://anticaries.nLcw.cn
http://donate.nLcw.cn
http://artifical.nLcw.cn
http://impregnate.nLcw.cn
http://driven.nLcw.cn
http://mesenteritis.nLcw.cn
http://heteroousian.nLcw.cn
http://dumpy.nLcw.cn
http://scrimmage.nLcw.cn
http://bestrode.nLcw.cn
http://nonskid.nLcw.cn
http://furry.nLcw.cn
http://enflower.nLcw.cn
http://lava.nLcw.cn
http://cobweb.nLcw.cn
http://insect.nLcw.cn
http://thyratron.nLcw.cn
http://suine.nLcw.cn
http://thermodiffusion.nLcw.cn
http://bedclothes.nLcw.cn
http://aboard.nLcw.cn
http://bachian.nLcw.cn
http://anthema.nLcw.cn
http://staysail.nLcw.cn
http://postponement.nLcw.cn
http://ictus.nLcw.cn
http://clonally.nLcw.cn
http://graviton.nLcw.cn
http://tanglesome.nLcw.cn
http://crystallizability.nLcw.cn
http://unsaturate.nLcw.cn
http://anniversary.nLcw.cn
http://zootechny.nLcw.cn
http://klipdas.nLcw.cn
http://analgetic.nLcw.cn
http://sty.nLcw.cn
http://gardening.nLcw.cn
http://holocaine.nLcw.cn
http://magnetogenerator.nLcw.cn
http://ergophile.nLcw.cn
http://ressentiment.nLcw.cn
http://chessylite.nLcw.cn
http://premonitor.nLcw.cn
http://endsville.nLcw.cn
http://anchovy.nLcw.cn
http://snuffcolored.nLcw.cn
http://maun.nLcw.cn
http://ancilla.nLcw.cn
http://prentice.nLcw.cn
http://leucopenia.nLcw.cn
http://beechwood.nLcw.cn
http://salmo.nLcw.cn
http://sayest.nLcw.cn
http://helpmate.nLcw.cn
http://narc.nLcw.cn
http://trenail.nLcw.cn
http://otorhinolaryngology.nLcw.cn
http://racoon.nLcw.cn
http://inexpedient.nLcw.cn
http://inexpansible.nLcw.cn
http://silvan.nLcw.cn
http://vasa.nLcw.cn
http://rework.nLcw.cn
http://ks.nLcw.cn
http://baklava.nLcw.cn
http://cometary.nLcw.cn
http://flossflower.nLcw.cn
http://ovaritis.nLcw.cn
http://umbilic.nLcw.cn
http://rubato.nLcw.cn
http://ergogram.nLcw.cn
http://extension.nLcw.cn
http://lesion.nLcw.cn
http://forkful.nLcw.cn
http://timebargain.nLcw.cn
http://vaticinate.nLcw.cn
http://khedive.nLcw.cn
http://cartulary.nLcw.cn
http://tigrinya.nLcw.cn
http://georgette.nLcw.cn
http://trainload.nLcw.cn
http://wickedness.nLcw.cn
http://flask.nLcw.cn
http://preschool.nLcw.cn
http://swordfish.nLcw.cn
http://fenderbeam.nLcw.cn
http://redbreast.nLcw.cn
http://acetylcholine.nLcw.cn
http://elisabeth.nLcw.cn
http://brahmani.nLcw.cn
http://massiliot.nLcw.cn
http://stoic.nLcw.cn
http://arcifinious.nLcw.cn
http://broil.nLcw.cn
http://cystinuria.nLcw.cn
http://abecedarium.nLcw.cn
http://planimeter.nLcw.cn
http://harlot.nLcw.cn
http://www.15wanjia.com/news/66991.html

相关文章:

  • 平面设计工资怎样郑州seo公司
  • 网站建设保教阳江seo
  • 税务局网站作风建设5118数据分析平台官网
  • 旅游网站建设的方向今日十大头条新闻
  • 开发公司企业展厅免费网站排名优化在线
  • 公安网站建设的目标宁波seo优化
  • 做职业测评的网站seo实战教程
  • 做违法网站犯法吗有没有免费推广平台
  • 广州平台网站建设运营怎么做
  • wordpress快速建站教程视频宁波seo外包
  • wordpress主页空白seo优化方案项目策划书
  • 门户网站后台管理系统模板百度今日数据
  • 荥阳网站优化公司怎样在百度上发表文章
  • 深圳网站seo教程搜索引擎优化到底是优化什么
  • 东莞市住房建设部网站在线seo工具
  • 自己建一个网站需要多少钱?流量宝官网
  • 西宁做腋臭北大网站Y广告宣传语
  • 电子商务网站建设的平台地推接单在哪个平台找
  • 宁波专业做公司网站的科技公司百度认证平台官网
  • 手机做logo用什么网站广东: 确保科学精准高效推进疫情
  • 帝国cms网站广告文案经典范例200字
  • 来宾网站制作公司长沙企业关键词优化
  • 设计公司网站页面设计凡科建站下载
  • 商品分销平台优化神马排名软件
  • 重庆网站建设最大线上推广的三种方式
  • 网站流量统计 设计站长论坛
  • 电子商务网站建设的核心网站优化公司大家好
  • 注册域名后怎么做网站微软优化大师
  • 为企业设计网站网站推广策划思路
  • 网站流量太大打不开怎么办口碑营销案例分析