题目链接:BZOJ - 3489题目分析“因为是OJ上的题,就简单点好了。”——出题人真的..好..简单...首先,我们求出每个数的前一个与它相同的数的位置,即 prev[i] ,如果前面没有相同的数,prev[i] = 0。再求出每个数的后一个与它相同的数的位置,即 next[i], 如果后面没有...
                            
                            
                                分类:
其他好文   时间:
2015-04-15 16:45:49   
                                阅读次数:
153
                             
                    
                        
                            
                            
                                简述求LCA的倍增算法 对于树上的所有节点,我们可以很轻松地通过dfs求出其直接的父亲节点以及其深度 通过类似RMQ的原理我们可以处理出每个节点的第2^i个父亲 //这个过程既可以在dfs之后双重循环建也可以像树剖模板里那样dfs里直接建 //个人比较推荐后者,会少掉一些不必要的运算,但由于...
                            
                            
                                分类:
编程语言   时间:
2015-04-15 12:55:45   
                                阅读次数:
148
                             
                    
                        
                            
                            
                                题意:给n个数,求最小的段数,使得每一段的最大值之和大于给定的k。每一段的长度相等,最后若干个丢掉。思路:从小到大枚举段数,如果能o(1)时间求出每一段的和,那么总复杂度是O(n(1+1/2+1/3+...+1/n))=O(nlogn)的。但题目时限卡得比较紧,需加一点小优化,如果连续两个段数它们每...
                            
                            
                                分类:
其他好文   时间:
2015-04-15 00:46:32   
                                阅读次数:
209
                             
                    
                        
                            
                            
                                题目地址:QTREE2 - Query on a tree II 
        LCA学了离线与在线转RMQ方法后就去做这道题,于是想了好长时间也没想到怎么做。看了题解都是用的倍增LCA。。于是又去学了下倍增法求LCA,这才发现用倍增法做简直是水题。。。因为求路径的第k个点可以转化成求第k个父节点,然而倍增法的原理就是根据的父节点,于是这题就很容易解决了。。 
        求距离很好求。关键...
                            
                            
                                分类:
其他好文   时间:
2015-04-13 20:54:08   
                                阅读次数:
202
                             
                    
                        
                            
                            
                                //==========================蒟蒻Macaulish:http://www.cnblogs.com/Macaulish/转载要声明!//==========================说好的“因为是OJ上的题,就简单点好了。”呢?一开始看不懂,不会写。然后跪了一个晚上决...
                            
                            
                                分类:
其他好文   时间:
2015-04-12 22:25:44   
                                阅读次数:
148
                             
                    
                        
                            
                            
                                题意:给一个树编号0~n-1,一个数组a[i]为节点i在树上走的最大距离(不重复点),然后求最大的区间,使得区间最大差异小于某个值。dfs求出每个数组,同时区间化。枚举区间左边界,右边界同样递增,类似单调队列,区间最值用RMQ查询(常数小)。 1 #pragma comment(linker, "....
                            
                            
                                分类:
其他好文   时间:
2015-04-12 06:46:21   
                                阅读次数:
188
                             
                    
                        
                            
                            
                                题意:求矩形内最大值。二维RMQ。 1 #pragma comment(linker, "/STACK:10240000,10240000") 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 #incl...
                            
                            
                                分类:
其他好文   时间:
2015-04-12 06:42:56   
                                阅读次数:
165
                             
                    
                        
                            
                            
                                题目地址:POJ 1986 
纯模板题。输入的最后一个字母是多余的,完全不用管。还有注意询问的时候有相同点的情况。 
代码如下:#include 
#include 
#include 
#include 
#include 
#include 
#include 
#inclu...
                            
                            
                                分类:
其他好文   时间:
2015-04-09 13:52:10   
                                阅读次数:
120
                             
                    
                        
                            
                            
                                题目地址:POJ 1470 
LCA模板题。。输入有点坑,还有输入的第一个结点不一定是根节点。 
代码如下:#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#...
                            
                            
                                分类:
其他好文   时间:
2015-04-09 11:51:08   
                                阅读次数:
133
                             
                    
                        
                            
                            
                                题目地址:POJ 1330 
在线LCA转RMQ第一发。所谓在线LCA,就是先DFS一次,求出遍历路径和各个点深度,那么求最近公共祖先的时候就可以转化成求从u到v经过的点中深度最小的那个。 
纯模板题。 
代码如下:#include 
#include 
#include 
#include 
#include <algorith...
                            
                            
                                分类:
其他好文   时间:
2015-04-08 21:32:39   
                                阅读次数:
198