算法小总结
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
【算法小总结】拓扑排序+例题解析
题目1449:确定比赛名次时间限制:1 秒内存限制:128 兆特殊判题:否提交:669解决:293题目描述:有N个比赛队(1输入:输入有若干组,每组中的第一行为二个数N(1输出:给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个原创 2014-08-01 10:08:29 · 5694 阅读 · 1 评论 -
【算法小总结】迪杰斯特拉(Dijkstra)求最短路径
此图是有向无负权指的图(弱连通图) 假设求1到6的最短路径,用迪杰斯特拉(Dijkstra)算法如何求? 迪杰斯特拉算法像无权最短路径算法一样,按阶段进行。假设s是起点,在每个阶段,迪杰斯特拉算法选择离s最近的一个顶点v,在v所有未知顶点中选取它能达到的,距离它最短的x顶点的路径长度D,若D小于s到x的长度(若没有路就是无穷大),替换s到x的长度D’,同时声明s到v的最短路径是已知原创 2014-08-01 10:58:05 · 3107 阅读 · 0 评论 -
【算法小总结】广度优先搜索剖析
广度优先搜索以前一直用搜索用的都是深搜,因为听说有很多题能用广搜就能用深搜什么的。今天老老实实的去看广搜了,结果发现我之前想的太天真的,DFS和BFS不仅在性质上不同,而且对于某些题和某些情况,用BFS比DFS要快(不是绝对)。 今天好好说道说道这个BFS(广度优先搜索) 很多问题(如过迷宫问题),每走下一步,都要考虑很多种情况,这个时候,就要每一步每一步的去试探,去找到合适的原创 2014-08-01 21:15:11 · 4989 阅读 · 0 评论 -
【算法小总结】Prim算法与Kruskal算法探索
以前以为自己用的生成最小生成树的方法是Prim算法,今天自己拜读了《数据结构与算法分析》之后才知道自己有多愚蠢,原来以前一直用的是KrusKal算法。。。。。。 KrusKal算法用于稀疏图,贪心策略,连续的按照最小的权值选择边。Prim算法用于稠密图,也是贪心策略,每次取离小生成树最近的点作为生成树的心点,并入生成树内生成新的小生成树,知道所有节点均被纳入生成树后结束。这两原创 2014-08-02 11:14:15 · 1152 阅读 · 0 评论 -
【算法小总结】母函数模板
//母函数模板//形如(1+x^1+x^2+x^3+....+x^n)*(1+x^2+x^4+x^6+....+x^n)*......(1+x^m+x^2m+x^3m+....+x^n)#includeusing namespace std;const int lmax=10000;int c1[lmax+1],c2[lmax+1];int main(){ int原创 2014-08-09 10:26:25 · 1372 阅读 · 0 评论 -
【算法小总结】最大连续子序列和最大连续子矩阵的关系与实现
最大连续子序列和最大连续子矩阵的关系与实现 求最长连续子序列的优化方法(非DP)//求最大连续子序列和与对应的开头元素和结束元素 例子:81 -3 -5 2 6 -1 4 920 2 9 类似的是,在矩阵中求最大子矩阵的方法可以转化成一维求最大连续子序列和的方法。将矩阵的行或列压缩。这里我选择列压缩如: 1 -1 24 9 15-原创 2014-08-15 10:04:22 · 2400 阅读 · 0 评论 -
【算法小总结】二分图的最大独立集
如果一个图是二分图,那么它的最大独立集就是多项式时间可以解决的问题了 |最大独立集| = |V|-|最大匹配数|证明:设最大独立集数为U,最大匹配数为M,M覆盖的顶点集合为EM。为了证明|U|=|V|-|M|,我们分两步证明|U|=|V|-|M|1 先证明 |U|M中的两个端点是连接的,所有M中必有一个点不在|U|集合中,所以|M|2 再证明|U|>=|V|-|M|假设原创 2014-08-14 21:19:39 · 4055 阅读 · 0 评论 -
【算法小总结】二分图最大匹配的非递归方法
二分图最大匹配的非递归方法原创 2014-08-14 21:26:14 · 1111 阅读 · 0 评论