一维数组: 有n个数(以下都视为整数),每个数有正有负,现在要在n个数中选取相邻的一段,使其和最大,输出最大的和。[a1,a2,a3................,an].动态规划很容易解决该问题:int maxSum(int a[],int n){ int sum=0; int b=...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 22:22:12   
                                阅读次数:
187
                             
                    
                        
                            
                            
                                LCS:给出两个序列S1和S2,求出的这两个序列的最大公共部分S3就是就是S1和S2的最长公共子序列了。公共部分必须是以相同的顺序出现,但是不必要是连续的。LCS具有最优子结构,且满足重叠子问题的性质。所以我们可以用动态规划来解决LCS问题。由LCS问题的最优子结构可得出递归式:参考代码:#incl...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 22:19:42   
                                阅读次数:
204
                             
                    
                        
                            
                            
                                monotonic:单调的.序列为X=(x1,x2,x3,x4...),首先排序X得到X',找出X和X'的最长公共子序列(LCS)即可。另一种思维: 先回顾经典的O(n^2)的动态规划算法,设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] ...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 22:19:25   
                                阅读次数:
244
                             
                    
                        
                            
                            
                                Palindrome
Time Limit: 3000MS
 
Memory Limit: 65536K
Total Submissions: 52571
 
Accepted: 18124
Description
A palindrome is a symmetrical string, that is, a string read...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 19:03:12   
                                阅读次数:
194
                             
                    
                        
                            
                            
                                这道题基本上是在普通LCS问题上的一点小小的变形,由求LCS的长度,改为求LCS的权值。架构还是不变的。可作为LCS问题的模板题。时间复杂度O(N^2)。
注意
题目中的字母都是小写字母,也就是只有26种字符。不需要开太大的数组。所以hash就是很好的一种保存权值的方法。另外吐槽一下。子弹序列和恐怖分子序列的长度太坑了,因为题目没有给出长度。我开了个2000个数组,wa了n次。改成2005就AC了。...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 14:59:11   
                                阅读次数:
162
                             
                    
                        
                            
                            
                                Maximum sum
Time Limit: 1000MS
 
Memory Limit: 65536K
Total Submissions: 33363
 
Accepted: 10330
Description
Given a set of n integers: A={a1, a2,..., an}, we define a...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 11:59:41   
                                阅读次数:
186
                             
                    
                        
                            
                            
                                Max Sequence
Time Limit: 3000MS
 
Memory Limit: 65536K
Total Submissions: 15569
 
Accepted: 6538
Description
Give you N integers a1, a2 ... aN (|ai| 
You should ou...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 11:59:11   
                                阅读次数:
232
                             
                    
                        
                            
                            
                                Brackets Sequence
Time Limit: 1000MS
 
Memory Limit: 65536K
Total Submissions: 25087
 
Accepted: 7069
 
Special Judge
Description
Let us define a regular brackets seq...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 10:29:51   
                                阅读次数:
352
                             
                    
                        
                            
                            
                                寻找路径,动态规划法题解。
本题和Leetcode的triangle题目差不多一样的,本题要求的是找到最大路径和。
逆向思维,从底往上查找起就可以了。
因为从上往下可以扩展到很多路径,而从下往上个点的路径是由两条缩减到一条。
这样就可以很简单记录最大路径了。
#include 
const short MAX_ROW = 101;
short triangle[MAX_ROW][MAX_...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 10:27:11   
                                阅读次数:
190