ACM算法
文章平均质量分 64
langzi989
每个现象后面都隐藏着一个本质,关键在于我们是否去挖掘它
展开
-
判定一个图为树
解题思路:首先此题是判断一个图是不是树,则这个图应该满足以下几个条件: 1、第一种情况是这个数为空树; 2、第二种情况为这棵树不为空树,在这个树中,(1)所有的节点最多有一个父节点(即指向这个节点的节点最多只有一个)(2)这棵树中不能存在环(3)这棵树中最多只能有一个根节点。原创 2015-04-01 00:42:17 · 1102 阅读 · 0 评论 -
sicily1031Campus之最短路径解题报告
sicily1031Campus之最短路径解题报告题目陷阱昨天讲了人工智能中的搜索算法,贪婪算法,A*算法,爬山算法,模拟退火算法和遗传算法,听着好屌的样子,其实也没什么,回来之后打算练习一个A*算法的实例,刚想做A*算法,发现前几天讲的最短路径还没有做,然后就在sicily上找到了这道题1031,本想着这道题木很容易,很快能做完然后再继续A*算法,没想到这题WA了我一晚上,看到其他人的结题报告才过原创 2015-10-13 08:56:01 · 974 阅读 · 1 评论 -
快速乘法算法原理及实现
快速乘法基本原理 由于计算机底层设计的原因,做加法往往比乘法快的多,因此将乘法转换为加法计算将会大大提高(大数,比较小的数也没必要)乘法运算的速度,除此之外,当我们计算a*b%mod的时候,往往较大的数计算a*b会超出long long int的范围,这个时候使用快速乘法方法也能解决上述问题. 快速乘法的原理就是利用乘法分配率来将a*b转化为多个式子相加的形式求解(注意这时使用乘法分原创 2015-12-14 23:27:38 · 13203 阅读 · 1 评论 -
二分图的最大匹配、完美匹配和匈牙利匹配算法
这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划...转载 2014-07-17 12:37:43 · 611 阅读 · 0 评论 -
匈牙利算法
这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,如果Vi 不与任意一条属于匹配M的边相关联,就称Vi 是一个未盖点。交错路:设P是图G的一条路,如果P的任意两条相邻的边一定是一条属于M而另一条不属于M,就称P是一条交错路。可增广路:两个端点都是未盖点的交错路叫做可增广路。流程图...转载 2014-07-17 15:28:20 · 437 阅读 · 0 评论