- 博客(154)
- 收藏
- 关注
原创 Python---数据容器(Dict 字典)
--list(列表)、tuple(元组)、str(字符串)、set(集合)、--- 遍历字典---for(字典不支持下标索引,因此不可用while)--- 新增元素:dict1[Key] = Value。--- 更新元素:dict1[Key] = Value。--- 获取全部的Key:dict1.keys()--- 统计字典的元素数量:len(dict1)--- 删除元素:dict1.pop(Key)--- 清空字典:dict1.clear()结果:得到字典中的全部Key。- 从嵌套字典中获取数据。
2025-11-01 16:29:06
272
原创 Python---数据容器(Set 集合)
功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。会得到一个元素的结果,同时集合本身被修改,元素被移除。---list(列表)、tuple(元组)、str(字符串)、结果:得到一个新集合,集合1和集合2不变。功能:取出 集合1有 而集合2没有 的。得到新集合,set1和set2不变。结果:集合1被修改,集合2不变。集合1.difference(集合2)集合是无序的,所以不支持下标索引访问。集合名.remove(元素)和列表一样集合是允许修改的。集合名.add(元素)集合名.clear()
2025-11-01 15:51:45
176
原创 Python---数据容器(序列-切片)
--list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)负数——反向取(起始下标和结束下标也要反向标记)--- 结束下标:可以留空,留空视作截取到结尾(是不含的,例如5,只会取到4)切片操作不会影响序列本身,而是会得到一个新序列(列表、元组、字符串)N——每次跳过N-1个元素取。2——每次跳过一个元素取。序列支持切片,即:列表、元组、字符串,均支持切片操作。--- 起始下标:可以留空,留空视作从头开始。--- 步长:依次取元素的间隔。
2025-11-01 15:28:30
223
原创 Python---数据容器(String 字符串)
-- 字符串的替换(并不是导致了字符串的变化,而是得到了一个新的字符串)--- index 方法,查找元素所在位置下标。---list(列表)、tuple(元组)、--- 字符串的规整操作(去前后指定字符串)- 和列表、元组一样,支持正反向的下标访问。--- 统计字符串中某个字符串出现的次数。--- 字符串的规整操作(去前后空格)--- 不可以修改(增加或删除元素等)--- 长度任意(取决于内存大小)--- 允许重复字符串存在。--- 统计字符串的长度。--- 只可以存储字符串。--- 支持for循环。
2025-11-01 15:12:37
198
原创 Python---数据容器( tuple 元组)
注意:元组本身的内容是不可以修改的,但是如果元组里面的元素是可修改的,可以对该元素内部元素进行修改,例如list等。同列表一样,可以封装多个、不同类型的元素在内,元组一旦定义完成,就不可修改(增加删除等)(可看成只读的list)- 根据 index() ,查找特定元素的第一个匹配项,存在则返回对应的下标。下表索引取出内容 eg: t1[1] , t2[0] [3]、str(字符串)、set(集合)、dict(字典)- 统计某个元素在元组中出现的次数。---list(列表)、- 统计元组内元素的个数。
2025-11-01 14:38:36
149
原创 Python---数据容器( List 列表)
pop还能把删掉的元素作为返回值用变量来接受,element = my_list.pop(2)、tuple(元组)、str(字符串)、set(集合)、dict(字典)-嵌套列表的下标索引 eg: my_list [ 1 ] [ 3 ]注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套。从后向前方向:从-1开始,依次递减-5,-4,-3,-2,-1。从前向后方向:从0开始,依次递增 0,1,2,3,...-列表的查询功能(方法)---列表的下表索引。---列表的常用操作。某元素在列表内的数量。
2025-11-01 11:50:08
472
原创 51---Led彩灯控制系统
模式1:Led1-Led2-Led3-Led4-Led5-Led6-Led7-Led8。模式2:Led8-Led7-Led6-Led5-Led4-Led3-Led2-Led1。模式3:Led1+Led8-Led2+Led7-Led3+Led6-Led4+Led5。模式4:Led4+Led5-Led3+Led6-Led2+Led7-Led1+Led8。S3:显示模式调整按键(运行模式+1)(若模式4+1后返回到模式1)(S4:显示模式调整按键(运行模式-1)(若模式1-1后返回到模式4)
2025-10-31 12:57:34
290
原创 51---按键检测(一控制LED开关)
边缘检测:准确捕捉按键按下和释放的瞬间防抖动:通过扫描机制在一定程度上避免按键抖动多种触发方式:支持按下触发、释放触发和持续检测。
2025-10-31 09:47:32
551
原创 蓝桥——(思维:排个序)
给定一个长度为 mm 的互不相同的数组 pp , 意味着你可以交换 a[pi]a[pi] 和 a[pi+1]a[pi+1] 任意次。第三行输入 mm 个整数 p1,p2,p3,...,pmp1,p2,p3,...,pm。第二行输入 nn 个整数 a1,a2,...,ana1,a2,...,an。请确定是否可以用仅允许的交换方式使得 aa 数组非严格递减。给定一个长度为 nn 的数组 aa。第一行输入一个 nn 和 mm。
2025-06-13 23:51:08
128
原创 洛谷---P1629 邮递员送信
有一个邮递员要送东西,邮局在节点 1。他总共要送 n−1 样东西,其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 m 条道路。这个邮递员每次只能带一样东西,并且。第二行到第 (m+1) 行,每行三个整数,u,v,w,表示从 u 到 v 有一条通过时间为 w 的道路。第一行包括两个整数,n 和 m,表示城市的节点数量和道路数量。输出仅一行,包含一个整数,为最少需要的时间。求送完这 n−1 样东西并且。
2025-05-06 21:37:36
330
原创 Acwing---367学校网络(SCC)
一些学校连接在一个计算机网络上,学校之间存在软件支援协议,每个学校都有它应支援的学校名单(学校 AA 支援学校 BB,并不表示学校 BB 一定要支援学校 AA)。当某校获得一个新软件时,无论是直接获得还是通过网络获得,该校都应立即将这个软件通过网络传送给它应支援的学校。因此,一个新软件若想让所有学校都能使用,只需将其提供给一些学校即可。现在请问最少需要将一个新软件直接提供给多少个学校,才能使软件能够通过网络被传送到所有学校?
2025-05-01 18:47:03
204
原创 图论---有向图的强连通分量(Tarjan求SCC)
有向无环图作用/好处:求最短路/最长路 可以递推,按照拓扑图从前往后递推.u 是其所在强连通分量的最高点 等价于 dfn[u] == low[u]2、low[u] 从 u 开始走,所能遍历到的最小的时间戳是什么。强连通分量作用:有向图——>(缩点)有向无环图(DAG)时间戳:搜索时按照DFS顺序给每个点一个编号,1、dfn[u] 表示遍历到 u 的时间戳。情况2:先走到横叉边,横叉边再走到祖先。缩点:将所有连通的分量缩成一个点。情况1:存在后向边指向祖先节点。x 是否在某个强连通分量中?
2025-05-01 10:58:31
602
原创 图论---拓扑排序(DFS)
这个实现可以输出有向无环图的所有可能的拓扑排序,并能检测图中是否存在环。在每一步选择当前入度为0的顶点,递归处理剩余顶点。最坏情况下为O(V!使用回溯法枚举所有可能的拓扑排序。实际运行时间取决于图的拓扑结构。:存储当前正在构建的拓扑排序。回溯时恢复入度和访问状态。:记录每个顶点的当前入度。:存储所有找到的拓扑排序。:标记顶点是否已被访问。
2025-04-28 20:34:39
561
原创 图论---最大流(Dinic)
使用当前弧优化后,效率接近 O(nmlogC)O(nmlogC)(CC 是最大容量)。一般情况:O(n2m)O(n2m)(但实际运行效率较高,尤其在稀疏图上)。最大流一定是阻塞流,阻塞流不一定是最大流。阻塞流---从起点到终点的管道已经阻塞了。:此代码足够应对大多数网络流题目(点数。(除非题目明确要求大容量)。:如需处理更大数据(如。减少动态扩容开销)。步骤:1、BFS分层。
2025-04-27 21:57:44
450
原创 图论---二分图的最大匹配 - 匈牙利算法
最大匹配数:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配,其边数为最大匹配数。ICPC 区域赛/EC Final 等更高难度比赛可能会有这种极端情况,但省赛较少见。M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。匹配:给定一个二分图G,在G的一个。写法 TLE,而前向星能 AC。
2025-04-25 14:08:19
483
原创 图论---染色法(判断是否为二分图)
二分图:可以把所有的点划分到两边,使得边只在集合之间,集合内部没有边。二分图当且仅当图中不含奇数环(边数为奇数条)
2025-04-25 13:20:30
444
原创 图论---Kruskal(稀疏图)
if(a、b 不联通) 就将这条边加入集合中。1,将所有边按权重从小到大排序,调用系统的sort()2,枚举每条边的 a , b ,权重。
2025-04-25 12:47:28
454
原创 图论---Bellman-Ford算法
若经过n次迭代,有更新的话(经过n+1个点了)就说明存在负环(一般不用其来求,用SPFA来判断负环)。有负权回路时有的点距离会是负无穷,因此最短路存在的话就说明没有负权回路。只有负环在1号点到n号点的路径上时,最短路才会不存在,在别的路上不影响。->(有负环也就没影响了),存在负权边,O( n * m );从1号点经过不超过k条边到每个点的距离。有负环不会死循环,但是值可能会很小。
2025-04-24 18:03:32
1024
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅