
主席树
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
【主席树入门 && 区间内第k小的数】POJ - 2104 K-th Number
Problem Description 输入n, m代表有n个元素,m个访问。接下来输入n个元素。输入m行访问,每行有三个元素l r k。问你下标l - r里面第k小的数是几? 思路: 学长讲堂blue学长很棒的给我们入了个门。自己也能手敲出来这题,也算理解这题了。主席树由n个线段树组成,每个线段树只有logn的节点,只保存存在该元素的节点。 代码:#include<cstdio> #inc翻译 2017-09-22 11:47:22 · 290 阅读 · 0 评论 -
【区间不同数的个数 && (主席树 || 莫队)】SPOJ - DQUERY D-query
Step1 Problem: 给你 n 个数和 q 个询问,每次询问 问你 [L, R] 不同数的个数。 Step2 Code: 主席树: 1:每一颗线段树区间维护的是不同数的个数。 2:每一颗线段树维护的值,是最后出现的。例如第 4 棵线段树,维护时只要第 4 个 1,前两个 1 不要。 对于询问 [L, R] 我们只需要第 R 棵线段树,直接求 [L, R...翻译 2018-07-10 18:21:27 · 349 阅读 · 0 评论 -
【路径第k小 && 主席树】SPOJ - COT Count on a tree
Step1 Problem: 给你一颗 n 个节点的树,每个节点有相应的权值。 有 m 个询问,每次询问,问你 u 到 v 路径上第 k 小的权值。 Step2 Ideas: 核心思想:dist[i] 代表根节点到 i 的距离, LCA(u, v) 代表 u 和 v 的最近公共祖先。 如果我们要求 u 到 v 的距离 = dist[u] + dist[v] - 2 ...翻译 2018-07-10 18:36:10 · 243 阅读 · 0 评论