一周总结状态压缩:状态压缩无论是有关于图的遍历的还是图形和物体的放置的,都可归结于一类问题,那就是排列问题即先算谁的问题。如:hdu4295题意说将4个子串放入一个主串中,使得覆盖的字符数最大和最小。此题先预处理每个子串可在主串中放的位置pos[i][j]以kmp字符串匹配算法...
                            
                            
                                分类:
其他好文   时间:
2014-08-10 10:19:00   
                                阅读次数:
205
                             
                    
                        
                            
                            
                                第一题是整数的方阵,求其中的子方阵,和最大。返回最大和以及子方阵宽度。因为做了topcoder的题,所以比较顺手,O(n^3)的复杂度。pair maxiSum(vector > &a) { //first is n second is sum int N = a.size(); in...
                            
                            
                                分类:
其他好文   时间:
2014-08-09 00:00:26   
                                阅读次数:
352
                             
                    
                        
                            
                            
                                题意  求n个数字的最大连续和
DP的入门题目  令d[i]表示以第i个数a为右端的最大连续子序列和   那么很容易得出转移方程  d[i]=max(d[i-1]+a,a)
很显然  当第i个数比以第i-1个数为右端的最大和加上第i个数还大的时候  以第i个数为右端的最大和就是第i个数自己了   同时更新左端为自己...
                            
                            
                                分类:
其他好文   时间:
2014-08-07 13:23:20   
                                阅读次数:
264
                             
                    
                        
                            
                            
                                这个问题是算法导论的一个示例,为了讲解分治。 1 //算法导论中的分治策略版本 2 3 4 #include 5 using namespace std; 6 int maxCrossSum(int a[], int begin, int mid, int end) 7 { 8 int ...
                            
                            
                                分类:
其他好文   时间:
2014-08-06 01:48:10   
                                阅读次数:
195
                             
                    
                        
                            
                            
                                动态规划求取连续数组最大和,非优化版,适合新同学理解学习。...
                            
                            
                                分类:
其他好文   时间:
2014-08-04 14:20:27   
                                阅读次数:
235
                             
                    
                        
                            
                            
                                两个栈,光标前的元素一个栈,光标后的元素一个栈
sum[i]记录从1~i个元素之和,动态规划的状态方程是 dp[i] = max( dp[i-1], sum[i] ),dp[i]记录前i个元素的最大和值。
#include
#include
#include
#include
#include
#include
#include
 
using namespace std;
cons...
                            
                            
                                分类:
其他好文   时间:
2014-07-28 16:07:03   
                                阅读次数:
240
                             
                    
                        
                            
                            
                                题目: 输入一个整型数组, 数组里有正数也有负数. 数组中的一个或连续的多个整数组成一个子数组. 求所有子数组的和的最大值. 要求时间复杂度为O(n)#include int maxsum_subarray(int a[], int n){ if( a==NULL || n curmax ) ...
                            
                            
                                分类:
其他好文   时间:
2014-07-28 15:27:13   
                                阅读次数:
203
                             
                    
                        
                            
                            
                                在查看bootstrap教程中,碰到后,在群兄弟小胡帮助下,知道viewport含义:ViewPort标记用于指定用户是否可以缩放Web页面,如果可以,那么缩放到的最大和最小缩放比例是什么。使用ViewPort标记还表示文档针对移动设备进行了优化。ViewPort标记的content值是由指令及其值...
                            
                            
                                分类:
其他好文   时间:
2014-07-28 14:33:53   
                                阅读次数:
256
                             
                    
                        
                            
                            
                                求子矩阵的最大和对于样例:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其最大子矩阵为9 2-4 1-1 8这个子矩阵的和为15想明白后,这是个最大连续子序列的变形sum[k]存放的是矩阵中第k列从第i行到第j行的和每次求出sum数组的最大...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 21:51:19   
                                阅读次数:
259
                             
                    
                        
                            
                            
                                POJ 1050 To the Max (动规)
最大子矩阵,首先一行数列很简单求最大的子和,我们要把矩阵转化成一行数列,就是从上向下在输入的时候取和,map[i][j]表示在J列从上向下的数和,这样就把一列转化成了一个点,再用双重,循环,任意i行j列开始的一排数的最大和,就是最终的最大和...
                            
                            
                                分类:
其他好文   时间:
2014-07-26 02:27:26   
                                阅读次数:
239