
主席树
_zidaoziyan
这个作者很懒,什么都没留下…
展开
-
51nod 1681 公共祖先 (在这两个平行宇宙有多少人一直是他们的公共祖先)
1681 公共祖先基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题有一个庞大的家族,共n人。已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边)。在另一个未知的平行宇宙,这n人的祖辈关系仍然是树形结构,但他们相互之间的关系却完全不同了,原来的祖先可能变成了后代,后代变成的同辈……两个人的亲密度定义为原创 2016-05-07 10:27:56 · 938 阅读 · 0 评论 -
hdu 5678 ztr loves trees (给一颗有根树,树上的每一个节点有一个权值,每次询问某个子树中所有权值的中位数)
ztr loves treesTime Limit: 6000/2500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 296 Accepted Submission(s): 46Problem DescriptionSuper Deity原创 2016-05-07 10:43:45 · 7601 阅读 · 0 评论 -
Hdu 5857 Median(给你一个有序的序列,取出连续的两段l1,l2,r1,r2,求这两段合并之后的中位数)
传送门:Hdu 5857 Median 题意:给你一个有序的序列,取出连续的两段l1,l2,r1,r2,求这两段合并之后的中位数。 思路:比赛的时候没有看到有序,用了主席树求第k大#include<bits/stdc++.h>using namespace std;const int maxn=101000;int root[maxn],sz;long long t[2*maxn],a原创 2016-08-20 11:59:54 · 775 阅读 · 1 评论 -
Hdu 5820 Lights(矩形中有多少个点)
传送门:Hdu 5820 Lights 题意:给你n个点,如果这是一条好的路径的话,任意两个点之间能到达且拐歪处一定有点,且走的距离为|x1-x2|+|y1-y2| 思路:我们对一个点找出它上下左右分别离它最近的是哪一个点,然后就组成了一个矩形,这要判断这个矩形里面是不是还有其它的点就可以了#include<bits/stdc++.h>using namespace std;const原创 2016-08-10 10:47:16 · 952 阅读 · 0 评论 -
Codeforces Round #368 (Div. 2) E. Garlands(查询矩形内的和)
传送门:Codeforces Round #368 (Div. 2) 题意:2000*2000的棋盘 有k个不相交集合,每个集合点数<=2000,然后10^6次操作,要么是一个集合从出现变成消失,消失变成出现 要么查询一个矩形内点数,查询数不超过2000,集合数<=2000,q<=1e6 思路:因为集合的个数比较少,所以我们可以暴力找到哪些集合是开的,然后对于每个集合查询(x1,y1)-(原创 2016-08-21 15:53:05 · 312 阅读 · 0 评论 -
Codeforces Round #368 (Div. 2) D. Persistent Bookcase(n层m个的书架的四种操作)
传送门:Codeforces Round #368 (Div. 2) D. Persistent Bookcase 题意:给你一个有n层,每个有m个的书架,有四种操作 1 i j 表示在第i层j位置放入一本书(原来不存在) 2 i j表示在第i层j位置拿出一本书(原来存在) 3 i 表示将第i层的每个位置的书相反一下,原来不存在,现在存在 4 i 表示回到第i次操作的状态原创 2016-08-21 18:44:02 · 340 阅读 · 0 评论