数据结构
文章平均质量分 77
H1deonbush
这个作者很懒,什么都没留下…
展开
-
HDU 1166 线段树的单点更新 区间求和
#include #include #include #include #define N 50005 using namespace std; int num[N]; struct Tree { int l; int r; int sum; }tree[N * 4]; void build(int root,int l,int r)///root为节点 此处为原创 2015-06-02 23:07:04 · 317 阅读 · 0 评论 -
HDU 1698 区间更新 求和
#include #include using namespace std; const int MAX = 100100; struct Tree { int l,r,mark; }tree[MAX * 4]; void BuildTree(int root,int l,int r) { tree[root].l = l; tree[root].r = r;原创 2015-06-07 17:39:19 · 357 阅读 · 0 评论 -
HDU 2852 线段树(查询有序位置)
题意:有三种操作 操作0 增添数字 操作1 删除数字 操作2 a k 查询大于a的第k个数 这道题与 HDU 4006 POJ 2828 类似 基本上都是找有序位置 详细的解释 传送门 这道题的不同 tree.sum 记录的还是当前结点所含有的数字个数 操作0这里就不多说了 操作1 如何判断是否存在 即判断[1,x] and [1,x-1]这两个区间的sum值是否不同 操原创 2015-08-08 19:42:17 · 430 阅读 · 0 评论 -
HDU 4006 POJ 2828 线段树(排列/找有序位置)
又是一年一度的暑假集训 然而前几天刚做完搜索 还木有做明白 现在就跑过来做线段树 唉 不知道我这个弱弱什么时候才能变得不那么弱~ HDU 4006 与 POJ 2828 两题相类似 HDU 4006 是找第K大的数 POJ 2828是把数字插入到指定位置然后输出arry 两题都属于线段树单点更新的问题 HDU 4006 tree[root].sum 记录该节点一共有多少个数字 若目前出原创 2015-08-08 16:31:04 · 660 阅读 · 0 评论