- 博客(13)
- 收藏
- 关注
原创 迪杰斯特拉算法优先队列优化
迪杰斯特拉算法的每一轮, 都需要找一个未被访问且距离起点最近的点来进行操作, 这个寻找的过程需要遍历距离数组, 比较耗时;当我们每次更新一个点的距离时, 可以将当前点与距离组合成pair, 放入优先队列, 优先队列以距离排序, 使得队首为距离最小元素, 这样, 每次取出队首, 就可以知道距离起始点最近的点, 大大优化计算时间。
2025-03-26 14:20:52
149
原创 素数筛选: 埃氏筛与欧拉筛
举个🌰: 假定 num = 30, num 会被 2, 3, 5分别筛选一次, 相当于多做了两次筛选, 且 num 越大, 重复筛选的次数就越多。埃氏筛的原理: 唯一分解定理, 即一个合数, 必然能够分解为数个素数的乘积, 且这种分解的结果是唯一的。emmm, 但愿能看懂吧, 看不懂也没关系, 死记硬背就完事了, 奥利给。程序实现: 将范围内所有的素数的倍数都标记为合数, 剩余未标记的即为素数。埃氏筛选有一个问题: 同一个合数, 会被多个素数筛选掉。
2024-06-03 15:19:44
639
4
原创 题解: P1047 [NOIP2005 普及组] 校门外的树
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。我们可以把马路看成一个数轴,马路的一端在数轴。的马路上有一排树,每两棵相邻的树之间的间隔都是。第一行有两个整数,分别表示马路的长度。,表示一个区域的起始点和终止点的坐标。数轴上的每个整数点,即。
2023-12-12 18:09:07
1050
原创 并查集与哈希表
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。行:每行两个数 Pi, Pj,询问 Pi 和 Pj 是否具有亲戚关系。表示第 i 个询问的答案为“具有”或“不具有”亲戚关系。
2023-11-01 00:58:03
62
原创 01背包与完全背包-python
物品重量 w = [3, 4, 5, 7]物品价值 v = [1, 5, 6, 9]物品数量 n = 4背包容量 c = 10。
2023-10-21 00:45:44
134
原创 13届蓝桥杯省赛-python:第10题孤岛问题
第⼀⾏输⼊两个正整数N和M,N表示矩阵⽅格的⾏,M表示矩阵⽅格的列,N和M之间以⼀个英⽂逗号隔开,第⼆⾏开始输⼊N⾏,每⾏M个数字 (数字只能为1或者0,1表示没被污染的海域,0表示已被污染的海域)有⼀⽚海域划分为N*M个⽅格,其中有些海域已被污染(⽤0表示),有些海域没被污染(⽤1表示)。块海域(绿⾊)没被污染,因为每⼀块的上下左右都被污染的海域包围。输出⼀个整数,表示N*M的海域中有⼏块是没被污染的独⽴海域。输⼊函数的括号中不允许添加任何信息。这块4*5的海域,有。
2023-08-05 17:42:10
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人