- 博客(11)
- 收藏
- 关注
原创 算法笔记 8 -(BFS宽度优先搜索)
基础知识STL中队列的基本用法创建队列对象: queue<元素类型> 队列名;队列添加元素: 队列名.push(元素名);删除队首元素: 队列名.pop();访问队首元素: 队列名.front();访问队尾元素: 队列名.back();判断是否为空: 队列名.empty();返回队列大小: 队列名.size();STL实例子介绍宽度优先搜索(BFS)BFS基本思想:从初始状态S开始,利用规则,生成所有可能的状态,构成树的下一层节点。...
2021-10-17 16:00:51
204
原创 算法笔记 10 -(二分匹配)
二分图的最大匹配最常见很多其他的问题都可以转化为匹配问题来解决匈牙利算法真正求二分匹配的题目很少,往往做一些简单的变化比如:二分图的最小顶点覆盖二分图的最小顶点覆盖:在二分图中求最少的点,让每条边都至少和其中的一个点关联最小顶点覆盖就是用最少的点覆盖所有的边DAG图的最小路径覆盖用尽量少的不相交简单路径覆盖有向无环图(DAG)的所有顶点最小路径覆盖就是用最少的路覆盖所有的点最小路径覆盖 = N(顶点数)- 最大匹配求二分图的最大匹配数二分图的最大独立集二分图的
2021-10-17 15:39:04
144
原创 算法笔记 4 -(递推求解)
递推求解——状态转移方程在上一步已经完成的情况下,按照一定规则继续递归到下一步,则可利用上一步到下一步之间的规则进行求解 如:F(n)=f(n-1)+nFibnacci数列:1 1 2 3 5 8 13 21 34......f(1)=1f(2)=2状态转移方程:f(n)=f(n-1)+f(n-2) (n>2)...
2021-10-11 21:49:24
355
原创 算法笔记3-(并查集)
并查集:不相交集合 将编号分别为1......N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素所在的集合题型:1.合并两个集合 2.查找某元素属于哪个集合查找find(x){return Set[x];}合并Mergel(a,b){i=min(a,b);j=max(a,b);for(k=1;k<=n;k++) //所有元素遍历一遍, ...
2021-09-13 21:32:26
106
原创 算法笔记2-(贪心算法)
求解问题时,总是做出在当前看来最好的选择。及,仅仅是某种意义上的局部最优解,而是否是全局最优需要证明硕鼠的交易 HDOJ 1009 结构体数组排序法
2021-09-09 22:25:22
383
原创 算法笔记0-1(输入输出,基础数学)
多组数据:输入不说明有多少个(N个)InputBlock(数组)读取数据时,scanf的返回值等于成功读取数据的个数while(scanf("%d%d",&a,&b)!=EOF)printf("%d",a+b); 此时输入了ab俩个值,scanf返回值为2EOF值为-1或 while(scanf("%d%d",&a,&b)==2);while(cin>>a>>b);缺省以EOF(文件结束)为结束标志给出多...
2021-09-02 20:00:17
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人