简单点说其实Segment Tree就是二分法的灵活运用。
需要的基础知识:
1 二分法
2 二叉树
3 最好熟悉堆排序
操作就是二分法和堆排序巧妙地合并起来。
有了这些基础知识Segment Tree就没有任何难度了。
参考原文:
http://www.geeksforgeeks.org/segment-tree-set-1-sum-of-given-range/
...
分类:
其他好文 时间:
2014-05-15 13:33:33
阅读次数:
250
题目链接:点击打开链接
题意:给定n个点 m个询问
下面n-1行给定一棵树
m个询问 x y
问把树转成以x为根 y的父节点是谁
第一种情况lca==y那就是x的第 dep[x] - dep[y] -1 父亲,依次向上爬山坡,利用倍增的二进制加速。
第二种就是Father[y];
#include"cstdio"
#include"iostream"
#include"queue"
...
分类:
其他好文 时间:
2014-05-15 09:11:44
阅读次数:
397
需求为了重构应用开发平台的前端,对目前的UI框架技术进行调研,有以下的标准:1要有丰富的控件以便支持大多数的mis系统的需求,如tree/table等2轻量不复杂,学习成本少3有统一的界面风格与调用接口4方便扩展5文档丰富6社区活跃UI框架调研复杂度开发模式开源收费组件稳定性扩展..
分类:
其他好文 时间:
2014-05-15 00:35:29
阅读次数:
452
最近把一个用eclipse构建的项目,加上了Gradle脚本,用它来编译。虽然最后编译是显示BUILD SUCCESSFUL,但是在编译过程中,却打印出一大堆栈信息,似乎是在编译我自定义的注解时出现的异常。
打印的栈信息前面部分如下:
:assemble
:lint
Failed converting ECJ parse tree to Lombok for file E:\code\git\...
分类:
其他好文 时间:
2014-05-15 00:00:10
阅读次数:
516
题意:容易理解。分析:通过枚举寻找规律,这就是做1堆或者2堆石子博弈的技巧!当为2或者3时,肯定是第二个人赢,当为4时,先去一个石子,然后当对方面临3,于是第一个人赢,当为5时,取1时,第二个人赢,取2时也是第二个人赢。。。,于是为5时也是滴二个人赢。。。多枚举几个之后就会发现只要满足斐波拉切数列的...
分类:
其他好文 时间:
2014-05-14 23:42:42
阅读次数:
370
第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。题目:求一棵树的最大深度。思路:递归地求取左子树最大深度
和 右子树最大深度,返回较大值即为 整棵树的 最大深度。代码:public int maxDepth(TreeNode root) { ...
分类:
其他好文 时间:
2014-05-14 23:07:14
阅读次数:
373
Pat1043代码题目描述:A Binary Search Tree (BST) is
recursively defined as a binary tree which has the following properties:The left
subtree of a node contain...
分类:
其他好文 时间:
2014-05-14 22:03:25
阅读次数:
487
Binary Tree Preorder Traversal
Total Accepted: 18022 Total
Submissions: 51784My Submissions
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given b...
分类:
其他好文 时间:
2014-05-14 20:43:22
阅读次数:
242
点击打开链接
Fibonacci Tree
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 975 Accepted Submission(s): 289
Problem Description
...
分类:
其他好文 时间:
2014-05-14 20:18:47
阅读次数:
366