树形DP问题。定义:1.dp[u][1]表示u这个点设立糖果发放点且u这棵子树满足条件时的最少糖果点数2.dp[u][0]表示u这个点不设立发放点且u这棵子树满足条件时的最少糖果点数设v1,v2……vn为u的子节点,则转移方程:dp[u][1]= 
sum(min(dp[vi][1],dp[vi][0...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 20:35:30   
                                阅读次数:
262
                             
                         
                    
                        
                            
                            
                                环状合并石子问题。环状无非是第n个要和第1个相邻。可以复制该行石子到原来那行的右边即可达到目的。定义:dp[i][j]代表从第i堆合并至第j堆所要消耗的最小体力。转移方程:dp[i][j]=min(dp[i][k]+dp[k+1][j]+sum[i][j]);复杂度:O(n^3)。可考虑四边形优化。...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 20:34:03   
                                阅读次数:
226
                             
                         
                    
                        
                            
                            
                                混合三种背包问题。定义:dp[i][k]表示体积为k的时候,在前i堆里拿到的最大价值。第一类,至少选一项,dp初值全赋为负无穷,这样才能保证不会出现都不选的情况。dp[i][k] 
= max(dp[i][k],max(dp[i-1][k-c]+g,dp[i][k-c]))其中:dp[i][k]是不选...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 20:32:13   
                                阅读次数:
238
                             
                         
                    
                        
                            
                            
                                单调队列优化DP。定义dp[i][j]表示第i天手中有j股股票时,获得的最多钱数。转移方程有:1.当天不买也不卖: 
dp[i][j]=dp[i-1][j];2.当天买了j-k股: dp[i][j]=max(dp[r][k]+(j-k)*Ap[i]); 
(r=1,所以i>w+1时才能转移,这是i#in...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 20:03:15   
                                阅读次数:
191
                             
                         
                    
                        
                            
                            
                                题意:即求给定n个数字(a1,a2,……an),不改变序列,分成M份,使每一份和的乘积最大。思路:dp[i][j]表示把前i个数字,分成j份所能得到的最大乘积。转移方程:dp[i][j] 
= max{ dp[k][i-1]*sum(k+1,j) } 其中显然j#include #include #i...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 19:58:45   
                                阅读次数:
242
                             
                         
                    
                        
                            
                            
                                1.Problem DescriptionGiven a sequence 
a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a 
sub-sequence. For example, given (6,-1,5,4,-...
                            
                            
                                分类:
其他好文   时间:
2014-06-02 17:36:53   
                                阅读次数:
234
                             
                         
                    
                        
                            
                            
                                剪枝的概念极大极小过程是先生成与/或树,然后再计算各节点的估值,这种生成节点和计算估值相分离的方式,需生成规定深度内的所有节点,搜索效率较低。 
如果能边生成节点边对节点估值,并剪去一些没用的分枝,这种技术被称为α-β剪枝。剪枝方法(1) MAX节点(或节点)的α值为当前子节点的最大到推值;(2) 
M...
                            
                            
                                分类:
其他好文   时间:
2014-06-01 12:32:00   
                                阅读次数:
552
                             
                         
                    
                        
                            
                            
                                type node1=record go,next:longint;end; node2=record 
l,r,mx,sum:longint;end;var i,x,y,n,q,tmp,cnt,sz,code:longint; ch,st:string; 
fa:a...
                            
                            
                                分类:
其他好文   时间:
2014-06-01 11:45:18   
                                阅读次数:
374
                             
                         
                    
                        
                            
                            
                                title:
Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.
37107287533902102798797998220837590246510135740250
4637693767749000971264812489697007805041701826053...
                            
                            
                                分类:
其他好文   时间:
2014-06-01 08:53:33   
                                阅读次数:
276
                             
                         
                    
                        
                            
                            
                                select total_user from a_user_no where date_time=(select max(date_time) from a_user_no  where
 ‘2013-05’+ "'=to_char(date_time,‘yyyy-mm’));
 
通过max 函数来去5月份出现最大日期的数据...
                            
                            
                                分类:
数据库   时间:
2014-06-01 08:53:00   
                                阅读次数:
312