相关文章

说说 Python 的生成器表达式

列表推导与生成器表达式都可以用于初始化元组、数组或其他类型的序列。但列表推导需要先建立一个完整的列表,然后再把这 个列表传递到某个构造函数。而生成器表达式会逐个产出元素,这样显然能够节省内存。 列表推导写法: codes [ord(symbo…

算法提高课第二章最小步数模型

使用BFS的不一定是在地图上移动&#xff0c;关键点在于状态的扩展 1107. 魔板 #include <iostream> #include <cstring> #include <algorithm> #include <queue> #include <map> #define x first #define y second #define ST pair<string, …

算法提高课第二章双端队列广搜

什么时候会用到双端队列呢&#xff0c;BFS可以看做是一种特殊边权全为1的迪杰斯塔拉算法&#xff0c;BFS的队列满足两端性和单调性&#xff0c;这样就保证了它求解最短路的准确性。当边权为0和1时&#xff0c;可以使用双端队列&#xff0c;0放队头&#xff0c;1放队尾&#xff…

说说 Activiti 中的用户与组的概念

Activiti 中的用户与组用于界定任务的候选者与办理者。组可以理解为角色&#xff0c;属于某个组的用户&#xff0c;就可以作为某个任务的候选者或者办理者。 我们还可以通过 Activiti 的 API 来创建、查询或删除某个用户或者某个组。Activiti 还提供了建立关系的 API 用于绑定…

算法提高第二章课双向广搜

在BFS搜索的过程中&#xff0c;状态的扩展是指数级增长的&#xff0c;为了减少状态数&#xff0c;我们可以从起点和终点双向BFS搜索&#xff0c;且在一个方向的状态数少的情况下多去搜这个方向。在两个方向同时搜到某个状态数结束 注意&#xff0c;不是每个方向一个点一个点的去…

算法提高课第二章A*

在进行最短路搜索时&#xff0c;会有大量无效的搜索。A*使用一个估价函数&#xff0c;估计当前点到终点的最短距离&#xff0c;在估计值小于等于真实值却大于等于0的情况下&#xff0c;通过BFS可以更快的找到最短路径。 求第K短路 #include <iostream> #include <cst…

算法提高课第二章DFS之连通性模型

DFS在求解连通性时有很好的应用&#xff0c;而且代码会比BFS简洁 DFS求解有两种&#xff0c;图内连通和图外连通。图内联通是图内的两个点连通&#xff0c;每个点只需遍历一次&#xff0c;而图外连通是指求解图状态改变的连通&#xff0c;如求解最短路径&#xff0c;每个点可能…

acwing算法基础课

文章目录第一章 基础算法快速排序归并排序二分高精度前缀和与差分双指针算法位运算离散化区间合并第二章 数据结构单链表双链表栈队列单调栈单调队列KMPTrie并查集堆哈希表C STL第三章 搜索与图论DFSBFS树与图的深度优先遍历树与图的广度优先遍历拓扑排序Dijkstrabellman-fords…