
算法总结
文章平均质量分 63
JustSteps
这个作者很懒,什么都没留下…
展开
-
二分图匹配算法总结
最近在学习二分图相关算法,以下内容是根据自己的理解,欢迎讨论。什么是二分图: 二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。二分图的最大匹配: 给定一个二原创 2013-03-09 17:29:54 · 4904 阅读 · 0 评论 -
Catalan数(卡特兰数)
以下内容整理自1百度百科 http://baike.baidu.com/view/2499752.htm2 http://buptdtt.blog.51cto.com/2369962/8325863 http://blog.youkuaiyun.com/hackbuteer1/article/details/7450250卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中原创 2013-02-04 15:09:21 · 678 阅读 · 0 评论 -
最短路径 之 SPFA算法
最短路径 之 SPFA算法http://hi.baidu.com/southhill/item/ab26a342590a5aae60d7b967求最短路径的算法有许多种,除了排序外,恐怕是OI界中解决同一类问题算法最多的了。最熟悉的无疑是Dijkstra,接着是Bellman-Ford,它们都可以求出由一个源点向其他各点的最短路径;如果我们想要求出每一对顶点之间的最短路转载 2013-04-08 15:32:09 · 14607 阅读 · 0 评论 -
负二进制
while (value != 0 ) /*短除法*/ { ans [ ++ top ] = value % (- 2 ); value /= (- 2 ); if (ans [ top ] == - 1 ) /*余数应该为1而不是-1*/原创 2013-07-10 16:04:19 · 923 阅读 · 0 评论 -
关于求最长路
1:如果是DAG图可以用动态规划做。2:dijkstra 把所有边取反,运行就可,,但要保证取反后所有边为正。3:bellman-ford 所有边取反,运行,而且可以判断负环~判断负环可以用bellman-ford算法,判断是否有正环也可以(通过边取反,判负环)原创 2013-04-08 15:27:09 · 892 阅读 · 0 评论 -
[转]C++大数模板 卡特兰数
http://blog.youkuaiyun.com/hackbuteer1/article/details/6595881分别使用C++中的运算符重载的方法来实现大数之间的数学运算,包括加法、减法、乘法、除法、n次方、取模、大小比较、赋值以及输入流、输出流的重载。。 并且使用这个大数模板,顺利AC了HDOJ上的1134这个题目的Catalan数计数问题。。http://a转载 2013-03-13 11:37:35 · 2624 阅读 · 0 评论 -
动态规划小结
这两天做了几道dp,回顾一下.1,http://acm.hdu.edu.cn/showproblem.php?pid=1024dp[i][j]表示前j个数字包括j 选i段划分出的最大值dp[i][j]=max(dp[i][j-1],max(dp[i-1][k]))+num[j]; 1编程中可以用滚动数组实现dp数组,而用pre[k]来表示前一阶段前k个数字最大值(可以不包括k)原创 2013-06-30 23:23:26 · 1117 阅读 · 0 评论 -
双向bfs注意点
转自http://www.cppblog.com/Yuan/archive/2011/02/23/140553.html 有个地方觉得不合适,修改了下~~如果目标也已知的话,用双向BFS能很大提高速度单向时,是 b^len的扩展。双向的话,2*b^(len/2) 快了很多,特别是分支因子b较大时至于实现上,网上有些做法是用两个队列,交替节点搜索 ×,如下面的伪代码:转载 2013-07-04 13:19:46 · 1133 阅读 · 0 评论