题目大意:给出一棵n个节点的有根树,一开始 树根 是一个控制点,现在要增加m个控制点,使得总费用最少。给出每个节点的父节点以及到父节点的距离,还有这个节点的权值, 一个节点的费用 即它的权值 乘以 离他最近的且是控制点的祖先的距离。 (控制点的费用为0); n<=100 m<=50解题过程:1.一看...
                            
                            
                                分类:
其他好文   时间:
2014-08-19 14:08:44   
                                阅读次数:
224
                             
                    
                        
                            
                            
                                题目链接
题意:给出n个数,求出得到最大数和第二大数所用的最多的比较次数
思路:可以取两个数两两做比较,就相当与建立二叉树,两个数的最大值就相当与两个的父节点,所以我们我们可以知道得到最大值时的比较次数为n-1,然后假设所有左儿子都大于右儿子,所以最大值的右儿子还有跟左子树中的值做比较得到第二大数,比较的个数为树高。
代码:
#include 
#include 
...
                            
                            
                                分类:
其他好文   时间:
2014-08-17 22:53:13   
                                阅读次数:
224
                             
                    
                        
                            
                            
                                一周总结树状dp:在一棵树上进行状态转移,一般在树上遍历的时候,有返回到父节点的有不需要返回的,有无根树的遍历(即任意一点都可作为一个根),但状态方程的转移还是从父结点到儿子节点的递归转移。Hdu1296题意:求任意一个点作为根,求该树的半径两次dfs第一次求出以该点为根的最大距离和次大距...
                            
                            
                                分类:
其他好文   时间:
2014-08-17 10:20:42   
                                阅读次数:
205
                             
                    
                        
                            
                            
                                #include #include using namespace std;#define MAX 100 //字符串最大长度typedef struct Node //二叉树结点{ char data; Node *lchild,*rchild;} *B...
                            
                            
                                分类:
其他好文   时间:
2014-08-16 22:23:51   
                                阅读次数:
266
                             
                    
                        
                            
                            
                                1、题目链接地址 http://poj.org/problem?id=13082、源代码#includeusing namespace std;#define MAXN 100int set[MAXN]; //set[]记录每个节点的父节点int FindSet(int x) //寻找x所在根的根....
                            
                            
                                分类:
其他好文   时间:
2014-08-16 22:17:11   
                                阅读次数:
221
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=4630
重新认识了树状数组。
首先要记住那个树形的图,然后+或-lowbit(i)是自己根据具体问题设定的,不要死于+或者-,
树状数组的特点:
1、+lowbit(i)可以到达包含结点i的上一层父节点    所以用于值的更改
2、-lowbit(i)可以到达不包含i所代表区间的上一层父节点  所以用于...
                            
                            
                                分类:
其他好文   时间:
2014-08-15 12:51:08   
                                阅读次数:
233
                             
                    
                        
                            
                            
                                var chils= s.childNodes; //得到s的全部子节点var par=s.parentNode; //得到s的父节点var ns=s.nextSbiling; //获得s的下一个兄弟节点var ps=s.previousSbiling; //得到s的上一个兄弟节点var...
                            
                            
                                分类:
Web程序   时间:
2014-08-14 15:59:28   
                                阅读次数:
186
                             
                    
                        
                            
                            
                                如果选了节点u,则不能选他的父节点和子节点,每个点有一个权值,求最大权值。#include #include #include using namespace std;#define maxn 6100#define maxm 15000struct Node{ int u,v,next;}e...
                            
                            
                                分类:
其他好文   时间:
2014-08-14 00:56:37   
                                阅读次数:
163
                             
                    
                        
                            
                            
                                题目地址:HDU 1255
这题跟面积并的方法很像,只不过需要再加一个变量。
刚开始我以为直接用那个变量就行,只不过判断是否大于0改成判断是否大于1。但是后来发现了个问题,因为这个没有下放,没延迟,比如,在父节点上加了一次1,在该父节点的子节点上又加了一次1,但是这时候所有的结点仍然没有达到2的,但是实际上子节点已经达到2了。这时候可以再加一个变量。那个变量用来保存覆盖数大于等于0的情况,这样...
                            
                            
                                分类:
其他好文   时间:
2014-08-12 09:03:53   
                                阅读次数:
166
                             
                    
                        
                            
                            
                                以click事件为例,当父节点或子节点绑定了click事件后,点击该节点,事件会发生冒泡传递,即会造成事件重复绑定,这时候需要阻止事件的冒泡,采用stopPropagation或cancelBubble等。stopPropagation() 方法定义和用法不再派发事件。终止事件在传播过程的捕获、目标...
                            
                            
                                分类:
其他好文   时间:
2014-08-08 23:54:06   
                                阅读次数:
344