![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
文章平均质量分 73
qingniaofy
这个作者很懒,什么都没留下…
展开
-
poj 2352
判断 给定 坐标 左下角 有 多少个 坐标 因为 坐标 已经按 y 从小到大排列,就可以直接用树状数组了。。 #include #include #define for if(0);else for const int maxn=32005; int cnt[maxn/2]; int c[maxn]; int lowbit(int x){ return x&(-x); } void原创 2012-07-06 10:34:04 · 552 阅读 · 0 评论 -
poj 2182
有一群 牛 排成 一行 (编号1-N),现在 给出 每一头 牛 前面 有几头 牛 的 编号 比 该 牛 编号小 ,要 求 每个 位置上 牛的编号 如 给出 1 2 1 0 (用 数组 sm存储),对应 的 结果 为 2 4 5 3 1 (记录 在 bd数组中),就是 说 4 的前面 有一个 编号 比他小 ,也就是 2 ,5 的前面 有两个 (2 和 4)。。。 方法 一,暴力枚举 ,从 后面原创 2012-07-07 23:03:49 · 830 阅读 · 0 评论 -
poj 2481
给出 n条线段,要求 每条线段 被 几条 覆盖,起点和终点都相同不算覆盖。。 很明显的树状数组。。跑了 1000+ms #include #include #include using namespace std; #define for if(0);else for const int maxn=100005; struct In{ int x,y; int index; }dat原创 2012-07-08 13:46:43 · 699 阅读 · 0 评论 -
poj 3321
给出一棵树,判断 以 某个 节点 为 根 的子树 有多少个节点有苹果。。 知道要用树状数组求和,但是 每个子树节点编号不连续,头疼,后来看了一些大神的报告才 恍然大悟。 可以先进行一次 dfs 后序遍历,对 每个节点重新编号,使子树的每个节点编号连续,并且根节点编号最大,同时要记录每棵子树的范围 即 子树 的最大编号和最小编号,然后 树状数组。。 ps:建树也不太会。。 #include原创 2012-07-10 00:21:07 · 768 阅读 · 0 评论 -
poj 3067
给出一些 相连关系,要判断总共有多少相交关系。。 用树状数组求解。。 #include #include #include using namespace std; #define for if(0);else for #define MAXN 1000050 #define LL __int64 struct In{ int x,y; }dat[MAXN]; LL c[MAXN];原创 2012-07-10 20:42:52 · 476 阅读 · 0 评论 -
poj 1631
这个题目是 给出一些连线关系,要你删除一些连线使得剩下的连线最多并且 不相交。。 看到后面知道其实这个题目就是求最长上升子序列。。可以用dp做,不过要dp+二分, 我用的是树状数组来做,c来存前i个中的最长上升子序列,dat[i]=getmax(dat[i]-1)+1。。 //==========================================================原创 2012-07-11 10:55:08 · 618 阅读 · 0 评论 -
poj 2155
二维树状数组,区间更新,单点查询。。 树状数组中的 两个函数 Update()修改某个点的值(准确说是某个路径, 递增或递 减),Getsum() 求和区间(1, x)内的点的值。 修改某点 x 和求和某个区间(1, x)是可以互相调 换的,即我们可以用 Getsum(x, c)修改(1, x)这个区间内的点的值,而用 Update(x)来求该点的值。 我们要使区间(a, b)内的点原创 2012-07-12 00:33:53 · 533 阅读 · 0 评论 -
poj 1195
很裸的二维树状数组。。 注意下标要加 1 //============================================================================ // Name : hello.cpp // Author : lxw // Version : // Copyright : Your copyright原创 2012-07-12 10:28:03 · 561 阅读 · 0 评论