传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3585 【题解】 哎好像就是上题啊 怎么权值是1e9了啊 那没关系啊把主席树调成[0,1e9]的就行啦 哎调调空间 过了 # include <stdio.h> # include <strin ...
分类:
其他好文 时间:
2017-04-29 01:19:59
阅读次数:
206
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3339 【题解】 业界偷懒。 突然发现好像可以主席树啊。。然后就强行上了一波发现确实可以。 第i棵主席树维护[1...i]这个前缀内,某权值区间的“最小出现位置”。 比如 2 3 0 1 那么在 ...
分类:
其他好文 时间:
2017-04-29 01:16:13
阅读次数:
246
传送门:http://poj.org/problem?id=2104 保存模版。 ...
分类:
其他好文 时间:
2017-04-28 10:22:38
阅读次数:
146
3585: mex Description 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 Input 第一行n,m。 第二行为n个数。 从 ...
分类:
其他好文 时间:
2017-04-27 21:15:39
阅读次数:
218
Description Give you a sequence and ask you the kth big number of a inteval. Solution 主席树模板题 敲完辣,心情瞬间变好,我要下楼看运动会 ...
分类:
其他好文 时间:
2017-04-27 17:57:17
阅读次数:
170
先求出dfs序,然后枚举管理者。 由于只要求数量最多,所以薪水一定从小到大取,用主席树维护,每次在主席树上二分就可以了。 具体看代码。 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorit ...
对于每一个询问二分答案。 设当前答案为x,将>=x的数的权值设为1,<x的数的权值设为-1。 当 [b+1,c-1]的权值和+[a,b]权值和最大的后缀+[c,d]权值和最大的前缀>=0时x可行。 先对每个数离散,然后以每个值建立主席树记录区间和、最大前缀、最大后缀就可以了。 时间复杂度:O(n*l ...
分类:
其他好文 时间:
2017-04-18 19:21:05
阅读次数:
146
主席树。。高大上的名字。。原名叫可持久化线段树。。也有人叫函数式线段树(其实叫什么都不重要)。 本来的作用就是字面意思。。持久化的线段树,支持修改之后查找某次修改之前的版本。(在NOIP之前在算法导论上看到过,当时觉得没什么,现在才知道好厉害的数据结构) 具体来怎么实现呢。。其实就是每次修改的时候都 ...
分类:
其他好文 时间:
2017-04-09 10:59:23
阅读次数:
212
今天心血来潮,突然想到有主席树这个神奇的玩意儿。。。一直都只是听说也没敢看。(蒟蒻蛋蛋的忧伤。。。) 然后到网上翻大神的各种解释。。。看了半天。。。 一拍脑袋。。。哇其实主席树 真的难。。。【咳咳我只是来搞笑的】 看了很多种解释最后一头雾水啊。。。就是没法脑补出(嗯没错经常脑补数据结构长啥样)主席树 ...
分类:
其他好文 时间:
2017-04-03 22:18:26
阅读次数:
188
似乎是归队赛的最后一道题。 由于当时以为是公共字串所以没写555555,其实是求公共前缀。 做法是建立tire,把tire上的点编号看成是值,查询第l到第r个字符串的区间内不重复的值的个数。建立主席树维护即可 #include<cstring> #include<cstdio> #include<a ...
分类:
其他好文 时间:
2017-04-02 10:20:48
阅读次数:
164