1.5k 1 分钟

描述较抽象,以题目为例展示邻接表存图的用法,题目传送门 # 题目背景 # 题目大意 给定一颗树,树中包含 nnn 个结点(编号 1→n1 \to n1→n)和 n−1n−1n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义: 重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 # 输入格式 第一行包含整数 nnn,表示树的结点数。 接下来 n−1n−1n−1 行,每行包含两个整数 aaa 和 bbb,表示点 aaa 和点 bbb 之间存在一条边。 #...
1.9k 2 分钟

# 一些前置知识 与:∧\wedge∧ 或:∨\vee∨ 非:⌝\urcorner┐ # 传统的集合运算 # 并 关系 rrr 和关系 sss 的并记作 # 差 关系 rrr 和关系 sss 的差记作: # 交 关系 rrr 和关系 sss 的交记作: # 笛卡尔积 两个分别为 nnn 目和 mmm 目的关系 rrr 和 sss 的笛卡尔积是一个 n+mn+mn+m 目元组的集合。若关系 rrr 有 krk_rkr​ 个元组,关系 sss 有 ksk_sks​ 个元组,则关系 rrr 和关系 sss 的笛卡尔积有 kr∗ksk_r * k_skr​∗ks​...
884 1 分钟

# # Matplotlib Pyplot # 导入库 导入库1import matplotlib.pyplot as plt plot() :用于绘制线图和散点图 scatter() :用于绘制散点图 bar() :用于绘制垂直条形图和水平条形图 hist() :用于绘制直方图 pie() :用于绘制饼图 imshow() :用于绘制图像 subplots() :用于创建子图 例如,绘制一条线 折线图12345678import matplotlib.pyplot as plt import numpy as np x = np.array([0, 3, 6]) y =...
2.6k 2 分钟

# 创建数组 # 一维数组 一维数组123import numpy as np data = np.array([1, 2, 3, 4]) print(data) 输出 [1 2 3 4] # 二维数组(矩阵) 二维数组123import numpy as np data = np.array([[1, 2, 3, 4], [4, 5, 6, 7]]) print(data) 输出: 12[[1 2 3 4] [4 5 6 7]] # 全 0 数组 shapeshapeshape 属性代表形状, shape(2, 5) 就代表创建 222 行 555 列的全零数组 全0数组123import...
3k 3 分钟

# 中文分词 jieba 库 # 分词原理 利用中文词库,确定中文字符之间的关联概率 中文字符间概率大的组成词组,形成分词结果 除了分词,用户还宽裕添加自定义的词组 # 三种模式 精确模式:把文本精确切分开,不存在冗余单词 全模式:把文本中所有可能的词语都扫描出来,有冗余 搜索引擎模式:在精确模式的基础上,对长词再次切分 # 常用函数 # 精确模式 返回一个列表类型的分词结果 精确模式123import jieba as jb print(jb.lcut('潺潺流水终于穿过了群山一座座')) 输出 ['潺潺流水',...
3.4k 3 分钟

# 文件打开 文件打开12345678path = 'e:\\test.txt'file = open(path, 'r')file.close()with open(path, 'r') as file: content = file.read() print(content) with open(...) as file: 是使用上下文管理器的方式,确保文件在使用后被正确关闭,即便处理时遇到异常也能保证关闭 #...
869 1 分钟

# 引入库 引入库1from random import * # 随机种子 如果不设置随机种子,则以系统当前时间为默认值 随机种子12seed(10)seed(20) # 随机数 # 随机浮点数 随机浮点数12random() # 产生 [0.0, 1.0) 之间的随机浮点数uniform(a, b) # 产生 [a, b] 之间的随机浮点数 # 随机整数 随机整数1234randint(a, b) # 产生 [a, b] 之间的随机整数randrange(a) # 产生 [0, a) 之间的随机整数randrange(a, b, step) # 按 step 为步长,产生 [a, b)...
3.8k 3 分钟

# AnaConda 是什么 AnacondaAnacondaAnaconda,是专注于数据分析的 PythonPythonPython 发行版本,包含了 condacondaconda、PythonPythonPython 等 190190190 多个科学包及其依赖项。 AnacondaAnacondaAnaconda 就是可以便捷获取包且对包能够进行管理,包括了 pythonpythonpython 和很多常见的软件库和一个包管理器 condacondaconda。常见的科学计算类的库都包含在里面了,使得安装比常规 pythonpythonpython...
2.7k 2 分钟

# 概念 并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素 并查集用来处理一些不相交的集合合并的问题,支持两种基本操作 合并( UnionUnionUnion ):合并两个元素所属集合(合并对应的树) 查询( FindFindFind ):查询某个元素所属集合(查询对应的树的根节点),这可以用于判断两个元素是否属于同一集合 # 基本操作 # 初始化 每个数 iii 的 fif_ifi​ 都等于本身 c++123void init() { for (int i =1; i <= n; i++)...
2.2k 2 分钟

# 定义 STSTST 表,是用于解决 可重复贡献问题 的数据结构 什么是可重复贡献问题? 可重复贡献问题是指对于运算 optoptopt,满足 x opt x=xx~opt~x=xx opt x=x 例如: max(x, x) = x , gcd(x, x) = x ,所以 RMDRMDRMD 和区间 GCDGCDGCD 问题都是 == 可重复贡献问题,而区间和不满足这个性质。 什么是 RMQ? 区间最大(最小)值问题,传送门 # 模板题 # 题意 给定一个长度为 NNN 的数列,和 MMM 次询问,每一次询问包含一个区间 l,rl,...