线段树
文章平均质量分 64
Lascym
这个作者很懒,什么都没留下…
展开
-
HH的项链(莫队/树状数组/主席树)
题目描述HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答…… 因为项链实在是太长了。于是,他只好求助睿智的你,来解决这个问题。输入格式一行一个正整数 n,表示项链长度。第二行 n 个正整数 ai,表示项链中第 i 个贝壳的种类。第三行一个整数 m,表示 H 询问的个数。接原创 2022-05-14 00:28:37 · 401 阅读 · 0 评论 -
Assign the task HDU - 3974(DFS序+线段树)
DFS序DFS序是根据DFS遍历树的结点的入栈出栈顺序来给节点赋值的,如下图,黑色的是节点本身的编号,红色的是DFS序以后的数组,数组两个相同的数字之前的标号的的节点,是这个节点的子树,比如红色的2节点,中间有1,3,4三个标号,代表1,3,4是2的子树,将树形结构变成线性结构后,我们就可以用树状数组或者线段树进行操作了题面有一家公司有 N 名员工(从 1 到 N 编号),公司的每个员工都有一个直属上司(全公司的领导除外)。如果你是某人的直属上司,那人就是你的下属,他所有的下属也是你的下属。如果你不原创 2022-05-09 23:48:34 · 91 阅读 · 0 评论 -
ZOJ16109线段树区间操作(区间染色)
题面Painting some colored segments on a line, some previously painted segments may be covered by some the subsequent ones.Your task is counting the segments of different colors you can see at last.InputThe first line of each data set contains exactly one原创 2022-05-04 23:34:19 · 251 阅读 · 0 评论 -
第k小数/可持久化权值线段树的一些理解
int insert(int p, int l, int r, int x){ int q = ++idx; //每次修改操作都会生成一个新的根节点 tr[q] = tr[p]; //将原来的节点复制下来 if (l == r) { tr[q].cnt++; return q; } int mid = l + r >> 1; if (x <= mid) tr[q].l = insert原创 2022-04-15 09:47:30 · 392 阅读 · 0 评论