题目大意:给出一棵树,有n个问题,询问在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和。
思路:不会,然后看了题解,之后发现自己智商严重不足。
看到数据范围就知道一定要离线处理,就这个离线处理我估计以我的智商不看题解是肯定想不出来的。。
考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,...
分类:
其他好文 时间:
2014-11-28 18:22:08
阅读次数:
217
1.二叉树的相关算法的实现(链表)。
#include
#include
#define NULL 0
typedef struct tree
{
int data;
struct tree *left, *right;
}ElemBT;
void create_btree(ElemBT *root, int list[], int n) /*n表示list数组中元素的个数*/
{...
分类:
其他好文 时间:
2014-08-06 12:00:01
阅读次数:
183