上一页 1 ··· 4 5 6 7 8
摘要: 这道题是一个基本的匈牙利算法,求最大二分匹配。之前在算法导论中学习网络流,明白了网络流中的残留网络,增光路和割,但是去模拟书上的伪代码感觉很是费力。就打算从最基本的匈牙利算法做起。下面先介绍一下匈牙利算法:该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法:匹配是边集的子集。设M是图G的一个匹配,需要掌握一下几个概念:1.M-交错路:M-交错路是一条通路,这条通路中的边为属于M与不属于M但属于G的边交替出现。2.M-饱和点:M-饱和点是与M中的某条边相关联的点。否则是非M-饱和点。3.M-可增广路:M-交错路的起点和终点都是非M-饱和点。设P是M-可增广路,则可以得出以下三 阅读全文
posted @ 2012-07-13 21:49 pushing my way 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 这个题昨天做过,但是今天使用的是RMQ_ST算法,网上关于RMQ还有中笛卡尔树的算法,今天我用的是ST算法,这个算法很给力,在初始化之后可以在O(1)的时间内求出最大值和最小值。先简要介绍一下ST算法,ST算法需要辅助数组f[i][j]表示从第i个元素开始连续2^j个元素中的最大值(这里以最大值举例),有:1.初始 f[i][0]=a[i]2.对于f[i][j] j>0 有f[i][j]=max( f[i][j-1] , f[i+2^(j-1)][j-1] ),当然每次比较之前必须保证i+2^(j-1)<=n中在初始化的过程中 j:1--m 这样保证f[1][1]=max(f[1] 阅读全文
posted @ 2012-07-12 19:10 pushing my way 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 昨晚写了一个线段树的程序,各种bug,最后硬是AC了,这个题的大意是这样的:给n个数字,然后在给出一些区间范围(s,e),求出在这个区间范围内的最大值和最小值,总结一下这个题,我一共有5个bug1.建立线段树时,类似完全二叉树,一开始我开的数组是最大数字个数的2倍多一点,然后开始悲剧,每当程序执行到Build_Tree()时就死了,一开始百思不得其解,后来自己用手模拟了一下建树的过程,发现虽然类似完全二叉树,但还不都是。完全二叉树只有最底层是叶子节点,但是线段树不一定,比如对(1,6)建树,模拟一下就会知道,最后改成开成3倍就OK了,纠结啊。2.第二个问题是编程基础不好导致的,我在初始化时就对 阅读全文
posted @ 2012-07-12 18:52 pushing my way 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 这个题是NP旅行商问题的简化版,求的是一个矩阵上的最短的路径。NP旅行商问题是Given a set of N towns and roads between these towns, the problem is to compute the shortest path allowing a salesman to visit each of the towns once and only once and return to the starting point.只不过这道题是将这N towns 放在了一个矩阵上,这样可以找到规律,如下:设矩阵为M*N,如果M和N都是奇数,那么最短的路径中 阅读全文
posted @ 2012-07-11 15:31 pushing my way 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 这个题花了不少时间,题目的意思是给一个二维数组,求出每一列上连续0的个数,最后从i=1--m依次输出连续的0的个数为i的个数。这个题首先就确定了使用矩阵的转置,但是无奈编程没练好,这题应该在5分钟内过的,下面几点是我在编程时遇到的错误1.一开始我使用的是int a[][],但是做到一半后发现每一行的数字是连在一起的,无奈重做。接下来我又不假思索的用string a[],但是当我转置的时候发现也不好,最后改用了char a[][],2,char a[][]应该初始化3.o(n^2)时间内找到个数,这里一开始没有考虑每一行最后一位为0的情况,唉编程不行啊。以下是代码:View Code #incl 阅读全文
posted @ 2012-07-10 22:31 pushing my way 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 时间一晃就过去了三年,大学的生活也步入了收尾阶段。回顾整个大学生活,充实并快乐着,但是远没有达到自己理想的标准。 大学阶段也学了不少东西,但基本上每次学完或者做完大作业就逐渐淡忘了,现在想想有些后悔没有记录下来,因此开通了博客,想把自己每日的收获都记下来,供自己还有和自己有相同兴趣爱好的人来回味。 博客在一个月前就开通了,但是当时有一些事情,比较忙,因此耽搁了下来,上周末我们院一行十人组团去天津大学,感觉过得还挺充实。回来后就下定决心一定要踏踏实实学习知识,让自己强大起来。 总之,开通博客,就是要记录自己求学之路的点点滴滴,我会坚持今后经常更新博客,珍惜时间,在芸芸众生中pushin... 阅读全文
posted @ 2012-07-09 16:20 pushing my way 阅读(132) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8