int lcs_len(char *a, char *b, int c[][N]){ int aLen=strlen(a), bLen=strlen(b), i,j; for(i=0; i0) if(c[i][j]==c[i-1][j]) ...
                            
                            
                                分类:
其他好文   时间:
2014-09-21 21:00:31   
                                阅读次数:
196
                             
                         
                    
                        
                            
                            
                                连续和最大的子数组 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 在一个数组中, 找出连续和最大的子序列.使用两个变量, 一个变量存储当前值, 一个变量存储最大值, 并设一个临时数组, 用于更新最大和数组.时间复杂度O(n).代码:/*
 * main.cpp
 *
 *  Created on: 2014.9.19
 *      Autho...
                            
                            
                                分类:
其他好文   时间:
2014-09-21 14:12:30   
                                阅读次数:
179
                             
                         
                    
                        
                            
                            
                                Fibonacci数列和动态规划
什么是Fibonacci数列?
Fibonacci数列指的是这样一个数列
{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,144, ...}
它的第0项是0,第1项是第一个1。从第二项开始,每一项都等于前两项之和。用C语言可以表示为:
//Fib(n) = Fib(n-1) + fib(n-2)
int Fib(...
                            
                            
                                分类:
其他好文   时间:
2014-09-20 20:08:09   
                                阅读次数:
235
                             
                         
                    
                        
                            
                            
                                分析:该题是经典的动态规划题目。题目中涉及到卡片数、卡片分4类、格子数等若干信息,又每张卡片仅能使用一次。求到达终点最多能能获得多少分。从题目中可知卡片的使用顺序影响最终得分,我们可知状态转移和使用哪种类型的卡片有关,假设我们用i、j、k、L分别表示4类卡片,f表示能获得的最多分数。则有:f[i,j...
                            
                            
                                分类:
其他好文   时间:
2014-09-20 17:23:39   
                                阅读次数:
163
                             
                         
                    
                        
                            
                            
                                Floyd算法可以求图内任意两点之间的最短路径,三重循环搞定,虽然暴力,但是属于算法当中最难的动态规划的一种,很有必要理解。花了一晚上和半个下午专门看这个,才看个一知半解,智商被碾压没办法。我一直怀疑这种办法会不会漏情况,是不是一定正确,脑子里想特殊用例,却把脑子想乱了。收藏这么几个网址,从数学证明...
                            
                            
                                分类:
其他好文   时间:
2014-09-19 17:23:05   
                                阅读次数:
328
                             
                         
                    
                        
                            
                            
                                转载自http://blog.csdn.net/steven30832/article/details/8260189 动态规划有一个经典问题是最长公共子序列,但是这里的子序列不要求连续,如果要求序列是连续的,我们叫公共子串,那应该如何得到这个串呢?最简单的方法就是依次比较,以某个串为母串,然后生....
                            
                            
                                分类:
其他好文   时间:
2014-09-19 13:46:15   
                                阅读次数:
165
                             
                         
                    
                        
                            
                            
                                动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
                            
                            
                                分类:
其他好文   时间:
2014-09-19 13:45:45   
                                阅读次数:
179
                             
                         
                    
                        
                            
                            
                                Railroad
Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 554    Accepted Submission(s): 223
Problem Description
A train yard is a com...
                            
                            
                                分类:
其他好文   时间:
2014-09-18 18:59:24   
                                阅读次数:
225
                             
                         
                    
                        
                            
                            
                                动态规划基本题目,longest incresing sequence,找出序列中的最长递增子序列;例如给出序列{8,3,5,2,4,9,7,11},其中最长递增子序列为{3,5,9,11}或{3,5,7,11}或{3,4,9,11}或{3,4,7,11},子序列按元素递增,序列长度都为4;子问题:...
                            
                            
                                分类:
其他好文   时间:
2014-09-17 21:36:52   
                                阅读次数:
231
                             
                         
                    
                        
                            
                            
                                问题描述:求一个数组的最长递减子序列
 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}。
思路:这是一个标准的动态规划的问题,在不理解算法的时候,最感觉可以使用递归的思想,其实也是正确的,在最后给出一个递归的方法,在知道是动态规划问题以后,就需要进行分析,我们需要一个辅助数组记录信息,假如源数组为src,辅助数组为table,table[i]数组中记录着到src...
                            
                            
                                分类:
其他好文   时间:
2014-09-17 10:19:22   
                                阅读次数:
243