算法
文章平均质量分 75
student_cui
读书,户外运动,javaweb,JavaEE,ExtJS,Flex,网络,软件
展开
-
0/1背包问题动态规划详解
<br />转自:http://hi.bccn.net/space-339919-do-blog-id-14722.html<br /> <br />动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。<br />比如01背包问题。<br />/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,<br />它们的重量分别是W1,W2,...,Wn,<br />它们的价值分别为P1,P2,...,Pn.<br />若每种物品只有一件求转载 2011-02-28 11:35:00 · 496 阅读 · 0 评论 -
最长公共子串的长度
问题:给出两字字符串s1和s2,求这两个字符串最长的公共部分代码:1、#include #include #include int lcs(const char *src, const char *sub){ assert(NULL != src && NULL != sub); int row, col; int len_max = 0; int len_src = strlen(src) + 1; int len_sub =原创 2011-04-07 22:41:00 · 688 阅读 · 0 评论 -
0-1背包问题
题目有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i件物品放入容量转载 2011-04-01 15:53:00 · 666 阅读 · 0 评论 -
最短路径之Dijkstra算法思想讲解
<br />来自:http://2728green-rock.blog.163.com/blog/static/43636790200901211848284/<br /> <br /> <br /><br />1 最短路径算法<br />在日常生活中,我们如果需要常常往返A地区和B地区之间,我们最希望知道的可能是从A地区到B地区间的众多路径中,那一条路径的路途最短。最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:<br />(1转载 2011-03-27 09:31:00 · 2289 阅读 · 0 评论 -
最大子段和——分治与动态规划
<br />来自:http://www.cnblogs.com/hustcat/archive/2009/06/01/1493949.html<br /> <br />问题:<br /><br /> 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整均为负数时定义子段和为0,依此定义,所求的最优值为:<br /> <br /> Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<转载 2011-03-13 23:27:00 · 722 阅读 · 0 评论 -
HDOJ 1023 Train Problem II
Train Problem IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1840 Accepted Submission(s): 1080Problem DescriptionAs we all know the Train Problem I, the boss of the Ignatius Train Station want t原创 2011-03-07 21:48:00 · 636 阅读 · 0 评论 -
求最大公约数的算法
<br />来自:http://blog.csdn.net/cauwtj/archive/2009/04/02/4043388.aspx<br /> <br /> <br /><br />更相减损术<br />更相减损术,又称"等值算法"<br />关于约分问题,实质是如何求分子,分母最大公约数的问题。《九章算术》中介绍了这个方法,叫做”更相减损术”,数学家刘徽对此法进行了明确的注解和说明,是一个实用的数学方法。<br />例:今有九十一分之四十九,问约之得几何?<br />我们用(91,49)表示91和4转载 2011-03-06 14:04:00 · 544 阅读 · 0 评论 -
Catalan数的分析和应用
<br />来自:http://blog.csdn.net/dlyme/archive/2008/06/10/2532831.aspx<br /> <br /><br />【Catalan数——卡特兰数】<br />一.Catalan数的定义令h(1)=1,Catalan数满足递归式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2该递推关系的解为:h(n) = C(2n-2,n-1)/n,n=1,2,3,...(其中C(2n-2,n-1)表示转载 2011-03-07 11:34:00 · 460 阅读 · 0 评论 -
快速求最小公倍数的四种方法
<br />http://www.hmtyxx.com/jiaoyu/ShowArticle.asp?ArticleID=1414<br /> <br /><br />快速求最小公倍数的四种方法<br /> <br />我们在求最小公倍数时一般用短除法来求的,其实在很多情况下,求两个数的最小公倍数可以用口算直接求出。下面就给大家介绍四种。<br />一、两数相乘法。<br />如果两个数是互质数。那么它们的最小公倍数就是这两个数的乘积。例如:4和7的最小公倍数就是4×7=28。<br />二、找大数法。<b转载 2011-03-06 14:12:00 · 24933 阅读 · 1 评论 -
1016 Prime Ring Problem
<br />Prime Ring Problem<br />Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.<br /><br />Note: the number原创 2011-03-06 10:36:00 · 545 阅读 · 0 评论 -
算法题收藏
1、Given a BST (Binary search Tree) how will you find median in that? Constraints: * No extra memory. * Function should be reentrant (No static, global variables allowed.) * Median for even no of nodes will be the average of 2 middle ele原创 2011-04-17 14:27:00 · 610 阅读 · 0 评论