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
ACM-主席树
可持久化线段树(
主席树
)
我们会发现如果我们用普通的线段树好像解决不了这样的问题,这时候我们就需要新的做法,也就是棵持久化线段树(
主席树
)。思路我们知道我们每次插入线段树也都代表了一
konjac_HZX
·
2023-04-07 05:32
数据结构
c++
树
可持久化线段树
ACM-
猪生子问题
这道题是杭电ACM课的第一次测试。当时被c++字符串输入和输出的坑浪费了好多时间,所以没做,现在有空就把它做一下题目大概意思某大学生回家养猪致富,第一年他又一只猪(猪第一年是一岁,没有0岁),每只猪在第三年的时候会生4只猪仔,而猪在5岁的时候会被卖掉。现在要求任意输入某一年,求当年该大学生拥有的猪数例子input135output1520题目分析看到这种题目,不用说,肯定是列出前几项找规律的。我们
文仔CXKSNLXX
·
2023-03-17 02:58
todo
主席树
树状数组二维,树状数组区间;权值线段树及其合并;数位dp,计数dp,决策单调性;fsy图论,基环树。区间可加碱性信息,可结合信息
Loboqui
·
2023-03-11 04:29
TODO-List
之单调队列优化序列DP之决策单调性优化序列DP之斜率优化树形DP斯坦纳树字符串AC自动机字符串哈希后缀数组树套树二维线段树(区间线段树套区间线段树)区间线段树套平衡树区间树套权值线段树权值线段树套区间线段树分块套
主席树
数据结构综合
weixin_30596343
·
2023-02-23 12:06
数据结构与算法
静态
主席树
#include#defineintlonglong#definemaxn50000usingnamespacestd;inlinecharget(){staticcharbuf[30000],*p1=buf,*p2=buf;returnp1==p2&&(p2=(p1=buf)+fread(buf,1,30000,stdin),p1==p2)?EOF:*p1++;}inlineintread(){
影踪派熊猫人武僧
·
2023-01-27 12:53
洛谷P2617 Dynamic Rankings
带修
主席树
模板题
主席树
的单点修改就是把前缀和(大概)的形式改成用树状数组维护,每个树状数组的元素都套了一个
主席树
(相当于每个数组的元素root[i]都是
主席树
,且这个
主席树
维护了(i-lowbit(i)
weixin_30429201
·
2023-01-14 13:00
可持久化平衡树 详解
定义可以拆成可持久化和平衡树来看,所以就是可以维护历史版本的平衡树,在此,我们的无旋treap与splay相比可以很好的进行转化(主要还是因为splay的旋转操作进行历史版本回溯比较困难),其实如果会打
主席树
White_gugu
·
2023-01-05 20:46
算法
数据结构
c++
算法
数据结构
NOI2021信息竞赛学习笔记
一.图论1.仙人掌问题(圆方树)2.矩阵树定理3.网络流4.基环树二、数据结构1.线段树2.左偏树3.树链剖分4.
主席树
5.树套树6.长链剖分7.LCT三、数学1.欧拉函数|(扩展)欧拉定理|欧拉反演2
andyc_03
·
2022-12-24 14:11
线性代数
图论
算法
2019暑期计划 / 每日刷题记录
计划##1.复习与提高###动态规划-数位DP-树形DP###图论-Tarjan-拓扑序的应用-树链剖分-点分治-树上距离-网络流/费用流###数据结构-平衡树-
主席树
-ST表###数论-整数研究-组合数学
weixin_30951743
·
2022-06-29 18:34
Easy DP Problem(
主席树
、维护区间前K大值总和)
思路:很显然的裸的
主席树
维护。不止维护区间个数,还要维护区间sum值。查询的时候贪心一下,右区间能取满K个显然取右区间更优,否则右区间取满,剩下的左区间凑。
阐上
·
2022-05-05 10:45
高级数据结构
贪心算法
算法
二分查找
线段树
数据结构
网络流水题五杀——洛谷 P3701、P2472、P1129、P2053、P2805
前言前段时间,趁着NOIP爆炸后,狂补文化课的空隙,一口气刷了好多网络流的shuiti……[1星难度]洛谷P3701「伪模板」
主席树
(二分图多重匹配)题目传送门题解很明显,有两个人,所以是二分图,两两对决可以看作匹配
AbEver
·
2022-04-27 10:05
网络流
&
线性规划
图论
第K小数 (可持久化权值线段树)
主席树
经典题
第K小数(可持久化权值线段树)
主席树
题目Link简述:题目给出N个整数,有M个询问每次询问区间L~R中第K小的数。
Snow_raw
·
2022-04-13 22:40
线段树
算法
c++
主席树
/函数式线段树/可持久化线段树 初步 学习笔记
主席树
/函数式线段树/可持久化线段树初步学习笔记这玩意是真tm巧妙1.什么是
主席树
?
主席树
是一种由许多棵重叠的值域线段树构成的数据结构,可以维护很多跟值域有关的信息。2.怎么写
主席树
?
ztxcsl
·
2022-02-11 19:00
MangataのACM模板
文章目录数据结构并查集树状数组二维单点修改,区间查询线段树单点修改,区间查询区间更新、区间查询
主席树
(区间第k小数模板)单调栈单调队列Trie树01Trie树图论最短路迪杰斯特拉(堆优化+链式前向星)最短路径计数最小生成树
MangataTS
·
2021-11-15 15:17
算法教学
图论
数据结构
算法
c++
c语言
11.9刷题总结
有根号分治的做法,但是不会,于是学习了
主席树
做法
Varuxn
·
2021-11-09 21:00
2021-08-24 SSL 模拟赛 T2 【莫队】【树状数组】
题目大意:题目的描述已经够简略了······思路:70%:因为数据太水,直接暴力O(n∗m)O(n*m)O(n∗m)可以拿70分,但是根据大佬的说法,这70%是给
主席树
的(注意题目中的l=1l=1l=1
SSL_DFT
·
2021-08-25 07:31
莫队
树形数据结构
#
树状数组
ssl
莫队
树状数组
2738: 矩阵乘法(梁 盾)(分块+
主席树
)
把X分成sqrt(n)个块,然后在没个块上面套棵
主席树
就可以啦~空间复杂度:O(n^2logn)时间复杂度:O(n^2logn+qsqrt(n)logn)代码:#include#include#incl
AmadeusChan
·
2021-06-15 13:30
静态
主席树
主席树
的作用是寻找一个序列的某个区间的第k大(小)如:给出一个序列a1,a2...an,有若干个询问,每个询问形如(l,r,k),询问l到r的第k大是多少以下内容转载自这里
主席树
的每个节点对应一颗线段树
Gitfan
·
2021-05-04 15:13
acm-
(好题、kmp、思维、字符串)Good Bye 2020 G. Song of the Sirens
传送门设ans[i]ans[i]ans[i]表示www在sis_isi重复的次数,我们要求的其实就是ans[k]ans[k]ans[k]。设g[i]g[i]g[i]表示www在sis_isi中的重复次数,但是必须包含ti−1t_{i-1}ti−1。于是不难写出ans[i]=2ans[i−1]+g[i]ans[i]=2ans[i-1]+g[i]ans[i]=2ans[i−1]+g[i],假设s[cu
&*^*&
·
2021-01-01 18:46
思维游戏
思维
字符串
acm竞赛
算法
kmp
【CCPC】2020CCPC长春 F - Strange Memory | 树上启发式合并(dsu on a tree)、
主席树
人均会dsu的赛区..早知道就把数组开大一点了..差20分钟就银了呀..最后一场ccpc留下遗憾了...题目大意:给出一个树让你求出:题目思路:看到lca,那就只能是枚举每个点作为lca的贡献所以枚举当前节点作为lca时,所以能够产生贡献的就是,他的任意两棵子树的贡献所以直接枚举当前这个子树的所有点,然后和之前的权值去匹配这里需要按位拆分一下:a^(b+c)!=a^b+a^c但是把数按位拆分之后,
一只酷酷光儿( CoolGuang)
·
2020-11-08 20:42
其他比赛的题解
树上启发式合并
SPOJ - DQUERY 【
主席树
】
在线方法就可以用
主席树
,这里T[i]是根据i-n的数建立的线段数,每次更新时,如果当前的数在上一个状态没有出现过,可以直接插入,出现一条新链,如果出现过,应该先把这个数擦出,然后在这个擦除的状态上更新,
eeeaaaaa
·
2020-09-17 11:44
主席树
spoj Count on a tree【
主席树
】
我们可以从根开始维护
主席树
,就相当于以根为起点维护前缀和,这样我们可以求出u-v这条路径上对应点的权值,对u,v求一下lca(最近公共祖先),然后点的权值就是c[u]+c[v]-2*[lca(u,v)]
eeeaaaaa
·
2020-09-17 11:44
主席树
lca
POJ2104 K-th Number【
主席树
】
题意:给一段序列,还有一些询问,查询l-r中的第k大的数是什么
主席树
求第K大的板子,维护前缀和,然后作差二分找第k大就是#include#include#includeusingnamespacestd
eeeaaaaa
·
2020-09-17 11:44
主席树
Bzoj3551:[ONTAK2010]Peaks加强版:Kruskal+
主席树
Kruscal,对于要合并联通块的两个点x,y新建节点z令fa[x]=fa[y]=z,并且节点z的权值为这条边的边权那么我们对于一个询问只需要倍增出最后一个权值>x的节点,这颗子树就是我们要找到的联通块
主席树
维护即可
TheWolfWhistlingSong
·
2020-09-16 18:14
OI
可持久化线段树
生成树
loj6100 「2017 山东二轮集训 Day1」第一题
传送门:https://loj.ac/problem/6100【题解】我们考虑维护从某个端点开始的最长满足条件的长度,如果知道了这个东西显然我们可以用
主席树
来对每个节点建棵关于右端点的权值线段树,然后区间修改
aklm45097
·
2020-09-16 18:49
bzoj 4504 -
主席树
+区间修改
darkbzoj.cf/problem/4504解题思路:题目跟洛谷P2048差不多,主要差在区间数只能统计一次,洛谷那题区间一样的数可以重复统计.那么就可以用pre[i]表示i这个数上一次出现的位置在哪,那么对于新的
主席树
更新区间就是
a1214034447
·
2020-09-16 18:07
主席树
SDOI2018 原题识别(
主席树
)
题目链接题目大意给定nnn个节点的树,其中包含一条非随机生成的长度为kkk的链,剩下的节点均随机父节点连边。每个节点有一个随机的颜色,维护:1.给定x,yx,yx,y,求x,yx,yx,y之间不同颜色数。2.给定x,yx,yx,y,对于所有满足分别在x,yx,yx,y到根的路径上的点a,ba,ba,b,求其询问1的答案之和。n≤105,m≤2×105n\le10^5,m\le2\times10^5
WAautomaton
·
2020-09-16 18:28
主席树
AtCoder Beginner Contest 174 总结
F虽然n还不小,但还是可以用莫队水过去(理论上大于3e9,2000ms有点危险),正解应该是
主席树
或者离线+树状数组。
主席树
空间开大点没毛病......A#in
嘉伟森的猫
·
2020-09-16 17:56
AtCoder总结
主席树
ACM-
图论-SPFA poj3268模板题
这题可以用dijsktra/SPFA,我是用dijsktra先A的,然后再用SPFA试了一下,又调出来A了。本题题意:每个点到终点的最短路(包括返回的路程),找到各条最短路中的最大值。小重点/不TLE的方法题目模式:去了再回来(有向图)题解理解:各点去终点:(取反向后,即终点(源点)到各点距离(dp/dis[i]表示)终点回各点:(原来的edge取向,算终点(源点)到各点的距离(dp/dis[i]
oliveQ
·
2020-09-16 12:14
算法题解
poj
BZOJ 2120 数颜色 - 带修莫队/树状数组套
主席树
+平衡树
大概是一道带修莫队的裸题,然而还是WA了无数次,真是太弱了......千万要记得带修的话前驱和后驱都要记录都要记录!要记录!记录!录!!#include#include#include#include#include#includeusingnamespacestd;constintmaxn=10005;constintmaxm=1000005;structquery{intid,l,r,t,bl
x_1023
·
2020-09-16 00:45
莫队
线段树/树状数组
树套树
可持久化数据结构
hdu6703 array (求区间内k的后继,
主席树
)
问题描述:给一个长度为n的数列a(1)-a(n),其中a(i)为1-n的数,且每个元素是不同的接下来有m个指令指令有两种:1.(1,pos),表示把a[pos]加上100000002.(2,r,k),求不等于a(1)到a(r)且不小于k的最小整数输出指令2的结果题目保证r和k小于等于nn小于等于1e5输入:T,表示T组案例每组案例:输入n和m,表示n个数m个指令下面一行n个数下面m行每行一条表面指
这有点难啊
·
2020-09-16 00:57
Codeforces Zip-line 650D 345Div1D(LIS)
思路:可以用
主席树
在线搞,也可以用树状数组离线搞,明显后者好写得多。我们首先读取所有的询问,然后就把询问绑在给出的位置,然后我们正向做一遍LIS,反向做一遍LDS,然后就可以解决这个问题了。
weixin_33856370
·
2020-09-16 00:07
array(2019CCPC网络预选赛 hdu6703
主席树
+set)
主席树
求大于等于k的最小值
ProblemDescriptionYouaregivenanarraya1,a2,…,an(∀i∈[1,n],1≤ai≤n).Initially,eachelementofthearrayisunique.Moreover,thereareminstructions.Eachinstructionisinoneofthefollowingtwoformats:(1,pos),indicating
starlet_kiss
·
2020-09-15 23:38
主席树
set
主席树
模板
区间第K大:POJ-2104#include#include#include#includeusingnamespacestd;constintmaxn=1e5+1000;intcnt,root[maxn],n,m;inta[maxn];vectorv;structnode{intl,r,sum;}tree[maxn*40];intgetid(intx){returnlower_bound(v.b
speaker__
·
2020-09-15 23:05
算法
模板
主席树模板
K-th occurrence HDU - 6704 (
主席树
+后缀数组+二分)
题目传送题意:给出一个字符串,找出某个子串第k次出现的位置思路:后缀数组sa[i]数组表示排名第i的后缀第一次出现的下标,求第k次出现的下标只需要在某个区间中求sa数组中的第k大即可(
主席树
求第k大),
speaker__
·
2020-09-15 23:04
算法
主席树
后缀数组
HDU 6703 array 2019CCPC网络选拔赛 1002 (线段树/权值线段树/
主席树
+set)
arrayTimeLimit:4000/2000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):1356AcceptedSubmission(s):522ProblemDescriptionYouaregivenanarraya1,a2,...,an(∀i∈[1,n],1≤ai≤n).Initiall
pxlsdz
·
2020-09-15 23:40
数据结构--线段树
好题
比赛题解
数据结构——主席树
模板
hdu6703
主席树
加set
arrayTimeLimit:4000/2000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):2158AcceptedSubmission(s):848ProblemDescriptionYouaregivenanarraya1,a2,...,an(∀i∈[1,n],1≤ai≤n).Initiall
sdauguanweihong
·
2020-09-15 23:07
主席树
array HDU - 6703
主席树
+ set
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongll;typedefpairP;constin
M_theory004
·
2020-09-15 23:12
线段树&&主席树
HDU6703
主席树
+set
其实这道题很简单,只有一个点需要去解决,也就是要去求一个无序区间最接近K并且大于等于的数,我在用
主席树
解决这个问题的时候,用val记录当前节点区间的数出现了多少次,并且这个区间的左端点应该要大于等于K。
好情绪
·
2020-09-15 23:12
树
hdu 6703 array
思路:在给的数组上建立
主席树
,改一下查询,查询L到R之间第一个大于等于k的数,再设一个set,把去掉的数放到set中,查询完
主席树
找set中最接近k的数,答案就是取上面两个数中的最小值#include#
仰望蓝天xz
·
2020-09-15 23:48
acm
主席树
2019CCPC-网络选拔赛 HDU-6703 array (
主席树
or 线段树)
CY提供的
主席树
思路https://blog.csdn.net/chenyume/article/details/100045386题意:给出一个序列,保证序列是一个1~n的全排列,q次操作,两种类型,
ZHXU1998
·
2020-09-15 23:41
主席树
线段树
数据结构
2019CCPC网络赛 HDU - 6703 array
主席树
查询第一个大于等于k的数
],所以结果也就是[1,n+1],所以对于加了1e7的数我们set记录一下原先的值,对于每次查询,我们输出set中第一个大于等于k的和原序列[r+1,n]大于等于k的最小值中较小的即可,那么问题就是用
主席树
找到第一个大于等于
mmk27
·
2020-09-15 23:29
主席树
主席树
总结
终于要总结一波
主席树
了。
主席树
太神奇了。。首先,
主席树
是什么?我的理解是,
主席树
首先是一颗颗地线段树,每一颗线段树都记录了不同时间的状态(这样就实现可持续化啦)。
ltwy123
·
2020-09-15 22:05
总结
2019CCPC网络选拔赛 hdu6703 array(
主席树
+set)
思路如果没有1操作,那么我们直接
主席树
就OK了。考虑不真正的进行修改,每次1操作就把a[pos]插进set,因为加10000000后肯定是大于n的,而k是小于等于n的,所以set里的数是可以用的。
autfuhyql782263188
·
2020-09-15 22:28
数据结构与算法
D-query SPOJ - DQUERY(莫队算法)
这题的解法并不唯一,在网上看到的主要有
主席树
和莫队算法两种,但
主席树
的代码普遍比较长而且较难理解。而莫队算法代码量短而且叫容易理解。
zzuliwyl
·
2020-09-15 21:42
hdu-6703 array(
主席树
+set)
主席树
维护最小值如果一个数被插入队列,相当于这个数无法被选inf如果一个数加1e7;相当于这个数又可以被选实际维护+1e7的操作比较麻烦直接用将+1e7的数字压入set中二分找>=k的最小的数在于查找的答案去
weixin_30670925
·
2020-09-15 21:10
array HDU - 6703(
主席树
+set)
题目链接题意:略思路:对于操作1,a[i]修改后原a[i]的值可以成为以后询问时的答案,压入set中;操作2在区间[r+1,n]上找大于等于K的值,因为可能是修改操作的值,从set中找到大于等于k的值与
主席树
中区间
speaker__
·
2020-09-15 21:51
算法
主席树
HDU-6703-array(两种思路(
主席树
+set||线段树))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6703题目大意:给出一个n个元素的数组A,A中所有元素都是不重复的[1,n]。有两种操作:1.将pos位置的元素+1e72.查询不属于[1,r]中的最小的>=k的值。强制在线。思路:当时想的是树套树,但是O(nlong^2(n))总是超时,一直想不出有什么办法优化掉一个多余的logn,到最后都没有写出来
永远鲜红の幼月
·
2020-09-15 21:08
数据结构
HDU-6703 array(
主席树
)
题意:给出一个序列,保证序列是一个1~n的全排列,q次操作,两种类型,一是给a[i]a[i]a[i]加10710^7107,另一种是给出r,k,询问一个最小的数字x,使得x>=kx>=kx>=k,x不等于区间[1,r]内的任何一个数字,强制在线,数据范围:n,m<=105,k<=nn,m<=10^5,k<=nn,musingnamespacestd;consti
cy41
·
2020-09-15 21:42
线段树
【HDU6703】array
首先,最暴力的做法就是树状数组套权值线段树,实现了支持单点修改的
主席树
功能,但是复杂度爆炸了。题目中所给的排列这一条件,可知没有两个数字是相同的。由于询问的k小于N,因此单点修改操
K1385170
·
2020-09-15 21:49
数据结构与算法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他