E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
主席树
2018暑期集训 子串查询(
主席树
+后缀数组)
题面:单点时限:2.0sec内存限制:512MB现在Jack有一个只由只由小写字母组成的字符串S,现在他想进行下面的查询:查询S中[l,r]子串第2次出现时第一个字母的位置。输入格式T组输入对于每组输入,第一行输入一个n,m代表S的长度和查询的次数。接下来m行,每行输入一组l,r,代表查询的子串。(1≤n,m≤100000,1≤l≤r≤n)输出格式对于每组查询,输出子串l,r第2次出现的位置,如果
codancer
·
2018-08-09 16:07
动态规划--LIS
可持久化专题(三)——可持久化并查集
它主要建立于可持久化数组的基础之上(而可持久化数组的实现是完全基于
主席树
的),因为这样就可以去访问一些历史版本从而实现可持久化了。LinkLinkLink
主席树
详见博客可持久化
chenxiaoran666
·
2018-08-08 20:57
并查集
可持久化
主席树
可持久化专题(二)——可持久化数组的实现
前言呃,首先声明,看这篇博客前,最好先去学一学
主席树
,毕竟可持久化数组的实现是完全基于
主席树
的(那些乱七八糟的玄学算法请走开)。
chenxiaoran666
·
2018-08-08 10:12
可持久化
主席树
可持久化专题(一)——浅谈
主席树
:可持久化线段树
由于数据结构这东西真的太玄学了,学这个
主席树
我真的学了很久。简介
主席树
为什么叫
主席树
?
chenxiaoran666
·
2018-08-08 09:46
主席树
可持久化
主席树
SPOJ - DQUERY query 【
主席树
】询问区间中不同的数字个数 and HDU - 5919 【
主席树
求不同个数 + 思维】
传送门题目大意:询问区间不同数的个数有多少个.做法:
主席树
维护,也就是如果当前这个数没有出现过,那么我们就新开一颗线段树维护,区间长度++,如果是之前出现过,那么把之前出现的位置的线段树先减掉,然后再在当前这颗线段树再加回去
Anxdada
·
2018-07-30 10:04
主席树
计蒜之道 初赛第一场 百度科学家(困难) 【
主席树
优化建图】
传送门题目大意:太长了,自己看.思路:主要是优化一个问题,向区间连边,那么就可以用线段树优化,但是这个带修改点,也就是要加入新的点,所以就用
主席树
来优化建图,每一个子节点就作为点本身,然后其他的还是一样
Anxdada
·
2018-07-30 09:07
主席树
线段树(合并/分治)&&重/长链剖分&&
主席树
专题(持续更新中)
文章目录一篇与线段树有关的sbPDF常规线段树(简单)线段树入门操作
主席树
(中等)线段树与算法(中等)线段树分治(中等)线段树合并线段树/树剖维护DDP(中等)线段树一些妙题线段树高端操作(偏难)李超线段树吉司机类线段树线段树与均摊分析树链剖分综合
SC.ldxcaicai
·
2018-07-28 16:09
#
线段树
#
树链剖分
#
线段树合并
#
线段树分治
#
长链剖分
#
二进制分组
POJ 2104 K-th Number(
主席树
,区间第K大的数)
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistics
相思明月楼
·
2018-07-27 16:14
算法
数据结构
刷题之路
「Luogu4755」Beautiful Pair-
主席树
+启发式分裂
Decription小D有个数列{a}{a},当一个数对(i≤j)(i≤j)(i≤j)(i≤j)满足aiai和ajaj的积不大于ai,ai+1,⋯,ajai,ai+1,⋯,aj中的最大值时,小D认为这个数对是美丽的.请你求出美丽的数对的数量。Solution考虑分治,对于区间[L,R][L,R]。每次找到区间中的最小值所在位置minposminpos,然后枚举[l,minpos][l,minpos
DSL_HN_2002
·
2018-07-24 22:57
文章类型——题解
数据结构——主席树
算法——分治/最值分治
主席树
静态区间第k大模板
#includeusingnamespacestd;constintmaxn=100005;intn,m;intin[maxn],num[maxn];intsum[maxn*30],lc[maxn*30],rc[maxn*30],rs[maxn];inttot;voidbuild(int&rt,intl,intr){rt=++tot;sum[rt]=0;if(l==r){return;}intmi
Cymbals
·
2018-07-21 16:29
ACM
主席树
【BZOJ3545】【BZOJ3551】【ONTAK2010】Peaks(Kruskal重构树,倍增,
主席树
)
Description在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1。BZOJ3551强制在线。SolutionKruskal重构树。考虑Kruskal的加边过程,将边从小到大加入的同
Hany01
·
2018-07-20 22:34
BZOJ
Kruskal重构树
倍增
主席树
牛客网多校赛第一场 J Different Integers
主席树
被卡,后来换了树状数组就可以了。AC代码如下:#include#include#include#inclu
LFhase
·
2018-07-19 21:51
ACM
高级数据结构
可修改
主席树
普通
主席树
普通
主席树
比较简单就是很多个权值线段树每一次加进去log个节点(每层一个),剩下的节点用原来的线段树中的节点直接连到新节点上就好了线段树image插入节点image
主席树
image
主席树
拆开之后
wawawa8
·
2018-07-19 09:10
[hdu 4348] To the moon
主席树
区间修改模板,用了标记永久化。
DT_Kang
·
2018-07-17 19:32
数据结构之分块
1)数据结构能接受的数据范围分块基本上能搞2)分块代码短,容易调试这两个优点不是秒掉
主席树
,树套树,splay……一、基础分块hzwer入门8题:传送门分块的大体模板没什么好讲的,但是注
DancingZ
·
2018-07-11 21:20
数据结构
分块
优秀
数据结构
分块
洛谷 P3157 [CQOI2011]动态逆序对(
主席树
+树状数组)
传送门做这题前请先学动态第k小,这里blog。首先我们有对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。那么第一次输出时直接输出序列的逆序对个数,然后问题就转化为删去某个元素时删去的逆序对数。若删去元素的位置为x,它产生的贡献就是原序列中区间[1,x-1]中大于x的数的个数与区间[x+1,n]中小于x的数的个数加上前面删去的数与x组成的逆序对个数(防止删两次)。前面的原序列中数量可
Dawn_LLLLLLL
·
2018-07-11 14:37
树状数组
主席树
洛谷 P2468 [SDOI2010]粟粟的书架(
主席树
+二分)
传送门首先我们知道,这题数据有两部分:对于50%的数据,满足R,C≤200,M≤200,000;另有50%的数据,满足R=1,C≤500,000,M≤20,000;对于前50%的数据,我们可以直接二分取书的页数下界解决。于是我们定义to[i][j][k]表示矩阵[1,1]至矩阵[i,j]中所有不小于k的数的总和,num[i][j][k]为它们的个数。于是从[a,b]到[c,d]中不小于k的数的和为
Dawn_LLLLLLL
·
2018-07-11 11:22
主席树
二分
洛谷 P2617 Dynamic Rankings(树状数组+
主席树
)
传送门动态区间第k小主要需要学习两种算法,一种是树状数组,另一种是
主席树
。也就是树状数组套
主席树
,可以去我以前的blog里看。
Dawn_LLLLLLL
·
2018-07-10 10:59
树状数组
主席树
洛谷 P2617 Dynamic Rankings(树状数组+
主席树
)
传送门动态区间第k小主要需要学习两种算法,一种是树状数组,另一种是
主席树
。也就是树状数组套
主席树
,可以去我以前的blog里看。
Dawn_LLLLLLL
·
2018-07-10 10:59
树状数组
主席树
洛谷 P3834 可持久化线段树 1(
主席树
)
传送门
主席树
模板,求静态区间第k小。据说
主席树
又叫可持久化线段树,因此它肯定跟线段树很有关系。我们用n棵线段树来维护,第i棵线段树维护的是前1~i个元素的值。
Dawn_LLLLLLL
·
2018-07-09 16:06
主席树
主席树
模板(POJ2104)
离散化:对数组排完序后用unique去重,unique返回的是去重后的数组的末地址,减去第一个元素的地址就能得到去重后的数组大小,用lower_bound查找原数字在排序去重后的序列中的位序,用位序代替数字完成离散化。#include#includeusingnamespacestd;#definelsonl,m,ls[rt]#definersonm+1,r,rs[rt]typedeflonglo
Apale_7
·
2018-07-09 13:15
数据结构
线段树水题集锦(持续更新)
只是普通线段树,并非什么可持久化,
主席树
。。。。ORZ最近写了些水题,挑了其中的几道,发一下。感觉对我这样的蒟蒻来说,线段树的某些模型还是需要学习的。。。(XX根本想不到)cogs:182.
air_wanfang
·
2018-07-08 01:32
总结
xiti
【算法学习】
主席树
入门
主席树
入门原理插入操作未插入数值插入数值4插入数值1查询操作
主席树
入门
主席树
,也叫做可持久化线段树,准确来说,应该叫做可持久化权值线段树,因为其中的每一颗树都是一颗权值线段树。
pengwill97
·
2018-07-04 23:03
算法学习
BZOJ3295: [Cqoi2011]动态逆序对(带修
主席树
)
3295:[Cqoi2011]动态逆序对**TimeLimit:10SecMemoryLimit:128MBDescription对于序列A,它的逆序对数定义为满足i<ji<jiAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下
SC.ldxcaicai
·
2018-07-01 13:30
#
主席树
#
树状数组
洛谷P2617 Dynamic Rankings(带修
主席树
)
P2617DynamicRankings题目描述给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。你需要编一个这样的程序,从输入文件中读入序列a,然后读入一系列的
SC.ldxcaicai
·
2018-07-01 11:44
#
主席树
#
树状数组
可持久化线段树(
主席树
)新手向教程
嗯今天来讲讲一个高端玩意,叫可持久化线段树。新手向,有点耐心是一定可以懂的知识储备首先你得知道线段树是什么,不然也不需要学这个东西线段树引入现在呢我们来思考一个问题,如果题目有需要保存线段树更改前的各个历史版本(比如给一个数列的前n项各建一棵线段树),我们应该怎么存?每个版本存一棵树吗?不不不太多了会爆空间的QAQ事实上,如果要存储前我们只需要修改少量点就可以,因为每两个版本间有很多的重复部分。解
SDFZ-Floatiy
·
2018-06-30 12:18
————数据结构————
可持久化线段树
BZOJ3932 CQOI2015 任务查询系统 【
主席树
】
BZOJ3932CQOI2015任务查询系统Description最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi。同一时间可能有多个任务同时执行,它们的优先级可能相同,也可能不同。调度系统会经常向查询
Dream_Maker_yangkai
·
2018-06-30 11:26
主席树
c++
主席树
数据结构
HRBUST 2386 - 霍冰阔落(
主席树
)
Description给出一棵规模为n的有根树代表族谱,1是祖先。对于每个人,我们都知道他的父母是几号。当然除了1。。我们假设1是直接进化来的。。当然以树为表示的族谱不是生物遗传的那样的,每个点的父亲就是他这个人的父亲,他的所有儿子节点全都是他的孩子。不要纠结男女的问题。。如果有一天,一个人突然突发奇想,想知道自己的第x代的后代到第y代的后代一共有多少人怎么办QAQ,编程解决这个问题把!Input
Hrbust_cx
·
2018-06-27 00:57
ACM算法
[联合集训6-25] 蓝雨 线段树+
主席树
+hash
先考虑p=qp=q的情况,习惯先把求第kk大变成求第kk小。那么我们逐个确定第kk小的串每种数字包含了多少个。假设当前我们已经确定了x−1x−1之前的数的个数,此时对于每个左端点ii,合法的右端点都是一个区间[li,ri][li,ri]。现在考虑二分确定xx的个数,我们把序列中为xx的位置单独挑出来,这些位置把序列分成若干段,假如二分有midmid个xx,那么对于每一段,合法的右端点又会有一个小于
DOFYPXY
·
2018-06-26 20:05
数据结构
线段树
主席树
哈希
[联合集训6-25] 蓝雨 线段树+
主席树
+hash
先考虑p=qp=q的情况,习惯先把求第kk大变成求第kk小。那么我们逐个确定第kk小的串每种数字包含了多少个。假设当前我们已经确定了x−1x−1之前的数的个数,此时对于每个左端点ii,合法的右端点都是一个区间[li,ri][li,ri]。现在考虑二分确定xx的个数,我们把序列中为xx的位置单独挑出来,这些位置把序列分成若干段,假如二分有midmid个xx,那么对于每一段,合法的右端点又会有一个小于
DOFYPXY
·
2018-06-26 20:05
数据结构
线段树
主席树
哈希
HDU 3727 Jewel (
主席树
)
JewelTimeLimit:10000/5000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1953 AcceptedSubmission(s):501ProblemDescriptionJimmywantstomakeaspecialnecklaceforhisgirlfriend.
Rvelamen
·
2018-06-23 00:00
HDU
主席树
「PKUSC2018」星际穿越 [倍增]
然后又想到考场上yy的一个玄妙的
主席树
写法…不过实在是很玄妙现在也写不出来…?
_Satori
·
2018-06-22 10:55
倍增
POJ2104区间第k小
题意,给你一个数字序列和一堆询问,问你[l~r]里第k小的数线段树,呸,
主席树
的入门板题,但是我还是学了半天QAQ先说个大暴力,对于每个询问区间,我们排序,然后找第k个数,emm,复杂度爆表然后貌似线段树可行
AcerMo
·
2018-06-21 21:44
数据结构-主席树
bzoj4826 [Hnoi2017]影魔(单调栈+
主席树
)
因此可以直接用
主席树
解决O(nlogn)O(nl
Icefox_zhx
·
2018-06-16 16:26
bzoj
主席树
【Luogu P2633 】Count on a tree
题解
主席树
静态区间第K小的树上情况。只要把序列上的变成按父子关系来就行,用DFS序。求的时候因为是点权,记录每一个点到根的信息后,用两端的减去lca的和lca的父亲的即可。代码如下:
NeosKnight
·
2018-06-08 20:13
======题解======
主席树
[SDOI2013]森林,洛谷P3302,
主席树
+启发式合并
每次往上跳把当前这一段记录下来,很明显要开n棵前缀
主席树
。然后再让找出来的op个区间相减(right-(left-1)),变成op个区间和op个区间相减。所以往下跳即可。
Deep_Kevin
·
2018-05-28 19:57
主席树
详解——从入门到放弃
要想学
主席树
,首先要搞懂可持久化线段树,因为
主席树
运用到了它的思想。
Hypoc_
·
2018-05-28 13:27
#
数据结构
bzoj5361 [Lydsy1805月赛]对称数(树上
主席树
+二分答案)
给定一棵树,每个点有权值,求路径上最小的出现了偶数次(可以为0)的权值。比赛时试图树上莫队+线段树(O(nlogn−−−−−√)O(nlogn))卡过去,然而当然是不可能的啦囧。正解是我们对每个点一颗线段树维护到根的路径上的权值区间的异或和。但是这样很有可能冲突,于是我们对每种权值随机一个ull的数,出现权值x的时候我们就异或上w[x]。这样如果一个权值区间[l,r]内所有数都出现了奇数次,当且仅
Icefox_zhx
·
2018-05-27 22:32
-----树-------
bzoj
主席树
随机化
【康复训练】【
主席树
】【BZOJ】1112: [POI2008]砖块Klo
DescriptionN柱砖,希望有连续K柱的高度是一样的.你可以选择以下两个动作1:从某柱砖的顶端拿一块砖出来,丢掉不要了.2:从仓库中拿出一块砖,放到另一柱.仓库无限大.现在希望用最小次数的动作完成任务.题解
主席树
Sdywolf
·
2018-05-27 16:28
BZOJ
主席树
【学习笔记】
主席树
主席树
,又称可持久化线段树,顾名思义,就是一种可以访问历史版本的数据结构.所谓访问历史版本,就是在每次修改了线段树以后,并不把原先的树破坏掉,而是在原来的树上新加入一些节点,使得这些节点与原来的线段树的一部分构成了修改后的线段树
Sdywolf
·
2018-05-25 15:12
主席树
[CQOI2011]动态逆序对,洛谷P3157,树状数组+
主席树
考虑用
主席树
维护。
Deep_Kevin
·
2018-05-22 18:16
[CQOI2011]动态逆序对,洛谷P3157,树状数组+
主席树
考虑用
主席树
维护。
Deep_Kevin
·
2018-05-22 18:16
Dynamic Rankings,洛谷P2617,树状数组+
主席树
一个是树状数组的概念,一个是
主席树
(动态开点线段树)。
Deep_Kevin
·
2018-05-22 18:53
Dynamic Rankings,洛谷P2617,树状数组+
主席树
一个是树状数组的概念,一个是
主席树
(动态开点线段树)。
Deep_Kevin
·
2018-05-22 18:53
[SDOI2010]粟粟的书架,洛谷P2468,前缀和+
主席树
正题书架上放满了书具体的来说,就是给出一个矩阵,每次给出一个区间,至少拿多少个数,才能使它们的和大于h。好像数据范围很大emm??想了半天emm??大错特错:1.对于前50%的点,R和C是小于200的,所以我们可以直接二分来做。tot[i][j][k]表示的是(1,1)到(i,j)中,大于等于k的数的总和是多少。num[i][j][k]表示的是(1,1)到(i,j)中,大于等于k的数有多少个。那么
Deep_Kevin
·
2018-05-21 21:42
[SDOI2010]粟粟的书架,洛谷P2468,前缀和+
主席树
正题书架上放满了书具体的来说,就是给出一个矩阵,每次给出一个区间,至少拿多少个数,才能使它们的和大于h。好像数据范围很大emm??想了半天emm??大错特错:1.对于前50%的点,R和C是小于200的,所以我们可以直接二分来做。tot[i][j][k]表示的是(1,1)到(i,j)中,大于等于k的数的总和是多少。num[i][j][k]表示的是(1,1)到(i,j)中,大于等于k的数有多少个。那么
Deep_Kevin
·
2018-05-21 21:42
学会了
主席树
!!!!!
打了几天,终于ac了hdu4348(tothemoon),
主席树
裸题。完全不想写题解。
Cymbals
·
2018-05-21 20:40
ACM
主席树
学习笔记第七节:
主席树
正题
主席树
看上去很高级(PresidentTree),毕竟说的是习大大。但是其实理念挺low的,在百度上一查,发现,艾~这不是函数式线段树吗~那么说明
主席树
跟线段树是有着密不可分的联系的。
Deep_Kevin
·
2018-05-20 21:04
学习笔记
2018CCPC中国大学生程序设计竞赛全国邀请赛(湖南)----hdu 6278--C.Just h-index
这个题在比赛中的时候就想着怎么用
主席树
做,无奈大佬太强,分分钟就过掉了。
ACpartner
·
2018-05-20 21:08
SPOJ TTM To The Moon
主席树
区间操作+标记永久化
ProblemSPOJSolution这就没有什么好缩的了,板子题一道,只不过用了标记永久化的思想,就比较方便一些咯Code#include#definepushup(x)sum[x]=sum[lc[x]]+sum[rc[x]]usingnamespacestd;typedeflonglongll;constintmaxn=100010,maxm=10000010;intn,m,tot,now,r
Rayment_cc
·
2018-05-18 20:29
主席树
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他