每日一题 2316. 统计无向图中无法互相到达点对数(中等,图连通分量)

news2024/11/24 7:29:40

在这里插入图片描述

  1. 题目很简单,只要求出每个连通分量有多少个节点即可
  2. 首先通过建立一个字典来表示每个节点的邻接关系
  3. 遍历每个节点,并通过邻接关系标记在当前连通分量内的所有的点,这样就可以知道一个连通分量内有多少个点
  4. 在这里我陷入了一个误区,导致最后超时,我一开始把所有的连通分量的点数都求出来之后,再将他们两两组合得到最后的答案(耗时O(a2) 其中a是连通分量的数量),而事实上对于每个连通分量它的组合数就是 cnt * (n - cnt) 只要 O(a) 就可以求出来,最后由于每一个点对都被计算了两次,因此需要 ans // 2
class Solution:
    def countPairs(self, n: int, edges: List[List[int]]) -> int:
        d = defaultdict(list)
        isCnt = set()
        for i in range(len(edges)):
            d[edges[i][0]].append(edges[i][1])
            d[edges[i][1]].append(edges[i][0])
        ans = 0
        for i in range(n):
            if i in isCnt:
                continue
            cnt = 1
            l = d[i]
            isCnt.add(i)
            while len(l) > 0:
                newl = []
                for j in l:
                    if j in isCnt:
                        continue
                    newl.extend(d[j])
                    cnt += 1
                    isCnt.add(j)
                l = newl.copy()
            ans += cnt * (n - cnt)
        return ans // 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1123570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】32条指令带你玩转 Linux !

目录 1,whoami 2,who 3,pwd 4,ls 1,ls 2,ls -l 3,ls -a 4,ls -al 5,ls -d 6,ls -ld 5,clear 6,cd 1,cd 2&…

看得懂的——数据库中的“除”操作

通过一个例子来解释数据库中的“除”操作 R➗S其实就是判断关系R中X各个值的象集Y是否包含关系S中属性Y的所有值 求解步骤 第一步 找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);所得结果如下&#x…

掌握测评补单技术对Shopee、Lazada店铺有什么好处?

虾皮(Shopee)、lazada作为东南亚地区最大的电商平台之一,吸引了众多卖家加入其平台,竞争激烈。在如此庞大的市场中,如何优化你的shopee、lazada店铺商品再结合自养号测评,提高曝光率和销售能力成为关键。本文将分享一些有效的方法…

解决dirsearch扫描工具pkg_resources模块警告问题

一、pkg_resources模块问题 ┌──(kali㉿kali)-[~/桌面/XXX/dirsearch-master] └─$ python dirsearch.py -h /home/kali/XX/XXXX/dirsearch-master/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io…

VMware Workstation安装ESXi和vCenter(8.0)

一、环境准备 虚拟机:VMware Workstation 17 Pro ESXi:ESXi-8.0U2-22380479-standard vCenter:VMware-VCSA-all-8.0.2-22385739.iso 主要是内存设置,因为vCenter需要14Gb内存,所以这个至少16Gb。 硬盘需要2块&…

【漏洞复现】蓝凌EIS智慧协同平台saveImg接口存在任意文件上传

漏洞描述 蓝凌智慧协同平台满足组织企业在知识、协同及项目管理系统中建设等需求。该平台在saveImg接口处存在任意文件上传,攻击者可通过该漏洞上传Weshell控制服务器。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,…

65%更小的APK和70%更少的内存:如何优化我的Android App的内存

65%更小的APK和70%更少的内存:如何优化我的Android App的内存 (Note: This is a translation of the provided title) 为什么应用程序内存很重要? 使用最少的内存的高效应用程序可以提升性能,节省设备资源并延长电池寿命。它们提供流畅的用…

学生台灯选什么光源好?适合学生的护眼台灯推荐

现在的台灯可以说是孩子必不可少的一个学习灯具了,几乎每家每户都会备着一台。不过台的好坏也有区别,相对而言,以前所用的白炽灯、日光灯、节能灯等等传统台灯已经是不适合孩子使用的了,目前而言最好的是LED灯。下面小编为大家推荐…

【消费战略】解读100个食品品牌|意面突起,“空刻”的品类心智占位!

空刻意面,一个开创意大利面速食化的新消费品牌,凭借着核心大单品意大利面,在过去短短的几年中,获得不俗的市场成绩和品牌影响力,占领了空刻意面的消费心智: 2019年,AIRMETER氢刻意面上线天猫旗舰…

急需一个可以短视频配音的手机App~

很多小伙伴视频拍摄得很好,但不想用自己的声音做解说旁白,怎么办?这时候就急需一个可以配音的手机App!今天给大家推荐一款一款专注于文字转语音的智能语音合成工具——悦音配音。声音堪比真人发声的配音服务平台,里面拥…

在 Windows 10/11 上恢复已删除文件的 9 种简单方法

本教程讨论永久丢失数据的原因以及在 Windows 10/11 上恢复已删除文件的不同方法: 数据是提供给系统的任何形式的信息。它可以是从密码到记事本文件的任何内容。数据是当今世界的关键要素,因为它使我们的生活变得轻松。 我们每天都变得越来越依赖数据&…

如何禁止别人调试自己的前端代码?

在前端开发中,无法完全禁止别人对自己的前端代码进行调试,因为前端代码在客户端执行,而客户端环境是可被用户访问和控制的。然而,可以采取一些措施来增加代码的安全性和复杂度,使得调试和代码分析变得更加困难。以下是…

橡胶软管在气密测试时如何保持管口的形状不变

在汽车整机或者零部件中,我们经常能看到各种各样的橡胶软管,主要负责导通各种冷却液、油等,是汽车正常工作不可分割的一部分。为了确保软管在使用前具有良好的密封性能,出厂前的气密性测试可以检测软管是否存在漏气或渗漏的问题&a…

新零售系统主要功能有哪些?新零售系统开发公司推荐

新零售系统是一套全面的数字化解决方案,旨在帮助实体零售店提升运营效率、优化用户体验并实现持续增长。以下是新零售系统的主要功能: l 用户画像:系统通过收集和分析顾客的行为、偏好、购买历史等数据,构建出完整的用户画像。这…

智加科技与东风柳汽达成深度合作 自动驾驶重卡计划2024年初量产交付

(2023年10月19日,苏州)全球领先的重卡自动驾驶技术公司智加科技与东风柳汽宣布,双方共同开发的自动驾驶重卡H7计划2024年初实现量产交付。未来,双方将携手推出安全可靠、高性价比、性能卓越的自动驾驶重卡产品&#xf…

Java编译多个目录下的文件

编译单个目录下的Java文件 javac -d <放置输出类文件的目录> <源文件的目录>/*.java 例如&#xff0c;在src/com/thb目录下有两个java文件&#xff1a; 执行编译命令javac -d D:\temp\outputdata src/com/thb/*.java可以编译这个目录下的两个java文件&#xff…

华为云HECS安装docker-compose

Docker Compose是一个用来定义和运行多个复杂应用的Docker编排工具。例如&#xff0c;一个使用Docker容器的微服务项目&#xff0c;通常由多个容器应用组成。那么部署时如何快速启动各个微服务呢&#xff0c;一个个手动启动&#xff1f;假如有上百个微服务呢&#xff0c;显然不…

python 打包 pyinstall

一、PyInstaller介绍 一个打包工具&#xff0c;可将Python代码打包成单个可执行文件&#xff0c;支持Windows、macOS和Linux等多个平台&#xff0c;可以将依赖包和资源文件一起打包。 二、PyInstaller安装及使用方法 1.PyInstaller安装 在终端执行&#xff1a; pip instal…

LongAdder为什么在高并发下保持良好性能?LongAdder源码详细分析

文章目录 一、LongAdder概述1、为什么用LongAdder2、LongAdder使用3、LongAdder继承关系图4、总述&#xff1a;LongAdder为什么这么快5、基本原理 二、Striped64源码分析1、Striped64重要概念2、Striped64常用变量或方法3、静态代码块初始化UNSAFE4、casBase方法5、casCellsBus…

新能源汽车展厅用哪些种类的显示屏比较好?

现在有越来越多的新能源汽车展厅开到了商场、购物中心当中。在新能源汽车展厅中&#xff0c;显示屏已经成为不可或缺的设备设施&#xff0c;可以用来展现产品介绍、优惠信息、文化宣传等。那么新能源汽车展厅的显示大屏用什么屏比较好呢&#xff1f; LED大屏幕&#xff1a;LED显…