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
~bzoj
BZOJ
3235 攻略 贪心+线段树+dfs序列
题目描述题目简述:树版[k取方格数]众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏。今天他得到了一款新游戏《XX半岛》,这款游戏有n个场景(scene),某些场景可以通过不同的选择支到达其他场景。所有场景和选择支构成树状结构:开始游戏时在根节点(共通线),叶子节点为结局。每个场景有一个价值,现在桂马开启攻略之神模式,同时攻略k次该游戏,问他观赏到的场景的价值和最大是多少(
shiyongyang
·
2020-08-08 21:55
线段树
bzoj
2555 SubString
Description懒得写背景了,给你一个字符串init,要求你支持两个操作(1):在当前字符串的后面插入一个字符串(2):询问字符串s在当前字符串中出现了几次?(作为连续子串)你必须在线支持这些操作。Input第一行一个数Q表示操作个数第二行一个字符串表示初始字符串init接下来Q行,每行2个字符串Type,StrType是ADD的话表示在后面插入字符串。Type是QUERY的话表示询问某字符
sdfzyhx
·
2020-08-08 21:21
字符串
数据结构
bzoj
【
BZOJ
4445】【SCOI2015】—小凸想跑步(半平面交)
传送门发现满足面积为最小也就是一号边和其他所有边的夹角的角平分线一侧裸地半平面交Debug2h后发现一个x,yx,yx,y写反了。。。#includeusingnamespacestd;#definelllonglonginlineintread(){charch=getchar();intres=0,f=1;while(!isdigit(ch)){if(ch=='-')f=-f;ch=getch
Stargazer.
·
2020-08-08 20:22
半平面交
BZOJ
2049: [Sdoi2008]Cave 洞穴勘测【LCT】
2049:[Sdoi2008]Cave洞穴勘测【题目描述】传送门【题解】裸地linkCutTree。最近刚学,所以打了一些模板题。代码如下#include#include#defineMAXN10005usingnamespacestd;structLink_Cut_Tree{intTop,Rtd[MAXN],Son[MAXN][2],Fa[MAXN],que[MAXN];voidPushDown
XSamsara
·
2020-08-08 20:16
BZOJ
LCT
【
BZOJ
4530】【BJOI2014】大融合
【题目链接】点击打开链接【思路要点】用LinkCutTree维护这棵树,在轻边的父亲处记录子树信息即可。时间复杂度O(QLogN)O(QLogN)。【代码】#includeusingnamespacestd;constintMAXN=100005;templatevoidchkmax(T&x,Ty){x=max(x,y);}templatevoidchkmin(T&x,Ty){x=min(x,y)
cz_xuyixuan
·
2020-08-08 20:53
【OJ】BZOJ
【类型】做题记录
【
BZOJ
5294】【BJOI2018】二进制
【题目链接】点击打开链接【思路要点】考虑计算总区间数量-不合法区间的数量。不合法区间分为两种:1、区间和为1的区间。2、区间和为大于1的奇数,且存在不足两个0。分别用线段树统计上述区间个数即可。时间复杂度\(O(QLogN)\)。【代码】#includeusingnamespacestd;constintMAXN=100005;constintMAXP=200005;templatevoidchk
cz_xuyixuan
·
2020-08-08 20:53
【OJ】BZOJ
【类型】做题记录
【数据结构】线段树
[
bzoj
4260]Codechef REBXOR
4260:CodechefREBXORTimeLimit:10SecMemoryLimit:256MBSubmit:1653Solved:713[Submit][Status][Discuss]DescriptionInput输入数据的第一行包含一个整数N,表示数组中的元素个数。第二行包含N个整数A1,A2,…,AN。Output输出一行包含给定表达式可能的最大值。SampleInput51231
lahlah_
·
2020-08-08 20:22
字典树
bzoj
2555: SubString
题意:在线增加末尾字符,在线询问子串出现次数。题解:lct维护sam的right。link时把x到根的路径标记一下,cut时也标记一下。自己YY的竟然能A。话说我的lct好慢啊。code:#include#include#include#includeusingnamespacestd;structSAM{inta[27],max,par;}sam[1200010];introot,tail,to
fyc_kabuto
·
2020-08-08 19:27
后缀自动机
LCT
LCT复习之
bzoj
3669: [Noi2014]魔法森林
题意为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在号节点1,隐士则住在号节点N。小E需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会对其发起攻击。幸运的是,在号节点住着两种守护精灵:A型守护精灵与B型守护精灵。
OI界第一麻瓜
·
2020-08-08 19:27
LCT
bzoj
2049: [Sdoi2008]Cave 洞穴勘测
题意:要求维护一个森林,支持加边删边,询问两点是否相连。题解:LCT入门题(话说高一了LCT都不会)看一下定义,这题还挺简单的。rotate不能错。一些不同点注意一下。code:#include#include#include#includeusingnamespacestd;structtrnode{intfa,son[2],rev;}tr[30005];voidupdate(intx){if(
fyc_kabuto
·
2020-08-08 19:27
LCT
2049: [Sdoi2008]Cave 洞穴勘测 LCT第一题
话说我在写的是否发现一个很需要注意的地方,就是要注意rotate的时候要判一下不能是根,要不会GG在
bzoj
居然是MLE,真奇怪,难道是入栈太多了?
OI界第一麻瓜
·
2020-08-08 19:27
LCT
bzoj
1414: [ZJOI2009]对称的正方形
题意:求多少个二维的回文串。题解:向四个方向hash,枚举中间点,分奇偶讨论,二分边长。unsignedintACunsignedlonglongWA是什么鬼。code:#include#include#include#include#defineLLunsignedintusingnamespacestd;constLLbase1=233,base2=2333;LLpre1[1001],pre2
fyc_kabuto
·
2020-08-08 19:27
hash
二分
bzoj
4034 (dfs序+线段树
题目链接///.-~~~~~~~~~-.__.-~~~~~~~~~-.///__.'~..~`.__///.'//\./\\`.///.'//|\\`.///.'//.-~"""""""~~~~-._|_,-~~~~"""""""~-.\\`.///.'//.-"`-.|.-'"-.\\`.///.'//______.============-..\|/..-============.______
twh233
·
2020-08-08 19:17
dfs序
lct-洞穴勘探(
bzoj
2049)
洞穴勘探2049:[Sdoi2008]Cave洞穴勘测TimeLimit:10SecMemoryLimit:259MBSubmit:11718Solved:5846[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通
oshawott_cute
·
2020-08-08 19:03
acm
[
bzoj
2049]洞穴勘测
[
bzoj
2049]洞穴勘测LCA板子题注意因为没有确定树的形态,只有先reverse一下把一个节点定为树根再进行操作代码#includeusingnamespacestd;charch[20];voidgetcmd
jerome_wei
·
2020-08-08 19:25
[HEOI2015] 小Z的房间
题目描述:造房子.题目分析:根据条件连边,上矩阵树统计就好了题目链接:Luogu4111
BZOJ
4031Ac代码:#include#include#include#include#include#definelllonglongconstintmod
HT008_123
·
2020-08-08 19:24
题目分析
高斯消元
Matrix_Tree
定理
bzoj
4530[Bjoi2014]大融合 线段树合并+dfs序+并查集
题意比较明显就不说了。这题我思考了一会儿,由于题解并不说清楚为什么这样处理的原因,我想了很久才想通==。建议看完理解题解以后不要看标,自己独立打出来,这题的思路很妙~。。首先很容易知道先把原树建出来以后,答案就是(size(fa)-size(x))*size(x)那么问题是怎么样处理询问呢,当然你可以树剖暴力搞,因为我一开始也是这么想的,这里提供一种更优美的解法==我们把树建出来以后,在图上建一颗
Transcendence_magia
·
2020-08-08 19:21
bzoj
线段树合并
并查集
dfs序
BZOJ
3669: [Noi2014]魔法森林(LCT)
传送门题意给一个无向图,每个边上有边权ai,bi,求一条路径,使得max(ai)+max(bi)最小。题解将a值排序后LCT暴力加边维护关于b值的最小生成树。注意有一点是LCT不能维护边上的权值,只能维护点上的权值,所以要将每条连边上加一个点,Splay顺便维护最大值即可。Code#includeusingnamespacestd;constintMaxn=5e4+50,Maxm=1e5+50;c
DZYO
·
2020-08-08 19:15
动态树
bzoj
1041 圆上的整点(一种新奇的思路)
用了一种新奇的方法重温了这道题目。学弟发来的定理很妙呦orz:有上述定理,则问题转化为求r^2的%4余1因子数和%4余3因子数。用约数个数定理,去掉偶因子后可以求出两者之和因此,求其中一种即可。从%4余1的因子数下手吧易知%4余1的因子定是由任意多个%4余1的质数和偶数个%4余3的质数相乘得来的任意多个%4余1的质数实际上就是最大的%4余1的质数的因子数,上约数个数定理取偶数个%4余3的质数怎么求
lethalboy
·
2020-08-08 19:47
数论
差分数组概述
今天做了
bzoj
1635后发现各路神犇都用差分数组,本蒟却傻傻写了线段树。。。。。
lethalboy
·
2020-08-08 19:15
其他
Bzoj
2819:Nim:树链剖分
题目链接:Nim线段树维护异或值的沙茶题然而dfs会爆栈所以得开手工栈(见代码)#include#include#include#includeusingnamespacestd;constintmaxn=500010;inttot=0,h[maxn],ind=0,s[maxn],fa[maxn];structedge{intto,next;}G[maxns[k]&&dep[G[i].to]>de
TheWolfWhistlingSong
·
2020-08-08 19:32
OI
树链剖分
bzoj
3306: 树 dfs序+线段树
题意给定一棵大小为n的有根点权树,支持以下操作:换根修改点权查询子树最小值n,q#include#include#include#includeusingnamespacestd;constintN=100005;intn,m,dep[N],dfn[N],b[N],tim,a[N],fa[N][20],last[N],cnt,mn[N],mx[N];structedge{intto,next;}e
SFN1036
·
2020-08-08 19:11
线段树
bzoj
4596: [Shoi2016]黑暗前的幻想乡 矩阵树定理+容斥原理
题意有n个点,n-1个公司,每个公司可以生产一些固定的边。问每一条边都让不同的公司来制造的生成树数量是多少。n#include#include#include#includeusingnamespacestd;typedeflonglongLL;constintN=20;constintMOD=1000000007;intn,cnt,last[N],a[N][N],f[N][N],ans;stru
SFN1036
·
2020-08-08 19:11
容斥原理
矩阵树定理
【
BZOJ
4530】大融合(Link-Cut Tree)
题面讨厌权限题!!!Loj链接题目描述小强要在N个孤立的星球上建立起一套通信系统。这套通信系统就是连接N个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量。例如,在上图中,现在一共有五条边。其中,(3,8)这条边的负载是6,因为有六条简单路径2−3−8,2−3−8−7,3−8,3−8−7,4−3−8,4−3−8−72-3-8,
小蒟蒻yyb
·
2020-08-08 19:41
BZOJ
各省省选
Link-Cut
Tree
bzoj
4596: [Shoi2016]黑暗前的幻想乡
4596:[Shoi2016]黑暗前的幻想乡TimeLimit:20SecMemoryLimit:256MBSubmit:92Solved:60[Submit][Status][Discuss]Description四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖怪涌入了幻想乡,扰乱了幻想乡昔日的秩序。但是幻想乡的建制派妖怪(人类)博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡
ZXCVBNM_AU
·
2020-08-08 19:35
矩阵树定理
容斥原理
BZOJ
3261:最大异或和(可持久化trie)
题面刚学trie的可持久化可以快速建一棵和已知trie相似的trie从而做到保存历史版本,在线构造两棵trie的差并查询运用位运算与trie的联系就可以搞完这题了#include#include#include#include#include#include#include#includeusingnamespacestd;#definemmst(a,b)memset(a,b,sizeof(a))
KKiseki
·
2020-08-08 18:52
trie
BZOJ
3277:串(后缀自动机+乱搞)
题面题意:n个串,问每个串有多少个子串在至少k个串中出现建出广义sam,对于每个状态求出parent树上的子树有多少个来自不同串的节点大于k的可以贡献答案具体实现就是乱搞#include#include#include#include#include#include#include#includeusingnamespacestd;#definemmst(a,b)memset(a,b,sizeof
KKiseki
·
2020-08-08 18:21
后缀自动机
bzoj
3625(NTT+多项式求逆+多项式开根)
这题是我搜NTT搜到的,当时就看到“多项式开根”这样的标题,于是找到了L-leader的博客,补了下幂级数的东西,用两节数学课学会了。题面我再看题解,好像都是教我怎么开方,求逆的,然后又拖了几天。终于昨晚睡不着,突然就想到了。。。先介绍一下生成函数。简单的说,就是一个数组a[0..n],可以生成一个多项式函数(幂级数)f(x)=∑i=0na[i]∗xi题意是给你二叉树每个节点可能的点权集合C,元素
KKiseki
·
2020-08-08 18:21
生成函数
快速数论变换
【滚动训练】
BZOJ
2002: [Hnoi2010]Bounce 弹飞绵羊(分块)
题意某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey
pengwill97
·
2020-08-08 18:52
BZOJ
数据结构---分块
【
BZOJ
4144】[AMPPZ2014]Petrol 最短路+最小生成树
首先可以很显然的知道题目中只与加油站有关,也就是说其他的点都是无用的,所以先考虑如何取代其他无用的点,如下图:黑色代表加油站,红色代表无用的点,现在要去掉红色4号,那么考虑对于1,2,3节点新的边应该是什么样子。考虑从3号节点到达1号,如果直接沿简单路径走,油量最小为7,而如果从3到2再到1,就只需要5就可以了,原因:b#include#include#include#include#define
pbihao
·
2020-08-08 18:13
ac之路
bzoj
最短路
并查集
【
BZOJ
3110】 [Zjoi2013]K大数查询 整体二分+树状数组区间修改
额,只能说整体二分是一个很神奇的东西,首先既然是二分虽然加了一个整体听起来变得立马高大上起来,但是还是需要从最基本的二分思路出发才能理解。首先如果对于只有一次地查询操作的话我们很容易就可以想到二分的写法,二分权值然后加上cheak操作判断比当前大的值有多少个,然后不断缩小二分的区间直到最后l==r。类似的,在整体二分我们同样用到类似的思想,这里简单模拟一下操作过程,希望能帮组大家理解;首先用一个p
pbihao
·
2020-08-08 18:42
ac之路
bzoj
数据结构
【
BZOJ
2400】Spoj 839 Optimal Marks 最小割
很有意思的一道题,看到网上有先跑最小割然后dfs的做法,但是还看到一个比较有趣的建图方法。首先对于题目来说,显然可以因为每一个位之间都不会相互影响所以可以按位处理,枚举每一位然后把每一个点划分为0或者1,这样一来就相当于把每一个元素划分为两个集合,并且要求代价最小,这样可以想到最小割。然后对于这一道题目要求在保证边权最小的情况下点权和最小,这就相当于要在保证第一条件最优下次要条件也最优,这样我们在
pbihao
·
2020-08-08 18:42
ac之路
bzoj
网络流
【
bzoj
1588】 [HNOI2002]营业额统计 双向链表
参考论文:http://wenku.baidu.com/link?url=qTuT3ghZfvaygqB4a15bL8jN-gNt9BV-A_zOv3HvpSEvR3Ujoz4VbsZwjc7gISRVgoz9QNE6ZNLP1D0T3muLxKh_x5hgMfu57TJd4UwB5va其他应用:noip2012开车旅行题解:http://blog.csdn.net/pbihao/article/
pbihao
·
2020-08-08 18:42
ac之路
数据结构
bzoj
平衡树
【
bzoj
1217】[HNOI2003]消防局的设立 贪心
好吧,提到这一道题感觉时间好久远啊,第一次是在洛谷上面看到的,因为洛谷上面写的是动态规划结果往动归上觉得状态太多一直没有想出来,看到一个贪心的博客很不错:http://www.cnblogs.com/JSZX11556/p/5102075.html空说无凭看代码注释把#include#include#include#include#definemaxn1010#definePBpush_backu
pbihao
·
2020-08-08 18:42
ac之路
bzoj
BZOJ
5289: [Hnoi2018]排列
传送门第一步转化,令q[p[i]]=iq[p[i]]=iq[p[i]]=i,那么题目变成:有一些q[a[i]]<q[i]q[a[i]]<q[i]q[a[i]]usingnamespacestd;typedeflonglongll;constintmaxn(5e5+5);intn,a[maxn],w[maxn],vis[maxn],in[maxn],fa[maxn],len;llans;
Cyhlnj
·
2020-08-08 18:16
贪心
线段树
BZOJ
5473: 仙人掌
传送门首先,所有连通块的个数的期望再减去每个点孤立的概率就是答案。设did_idi表示iii的度数,那么每个点孤立的概率为12di\frac{1}{2^{d_i}}2di1考虑计算所有连通块的个数的期望对于一棵树来说,每次删除一条边会使得连通块的个数+1+1+1,概率为12\frac{1}{2}21,那么n−1n-1n−1条边的期望就是1+n−121+\frac{n-1}{2}1+2n−1对于仙人
Cyhlnj
·
2020-08-08 18:16
概率与期望
BZOJ
5305: [HAOI2018]苹果树
传送门果然只有我这种菜鸡才会用这种菜鸡做法QwQ对于一类要求期望的题目,有一个无脑的做法:设概率为fff,期望为ggg每次合并两个二元组<f1,g1>,<f2,g2><f_1,g_1>,<f_2,g_2>,的方法显然为<f1×f2,g1×f2+f1×g2><f_1\timesf_2,g_1\timesf_2+f_1\timesg_2
Cyhlnj
·
2020-08-08 18:16
概率与期望
就是数学(计数等)
BZOJ
3637 Query on a tree VI
挺厉害的题考虑用LCT分别维护黑森林和白森林,并维护子树大小但是直接暴力linkcut的话复杂度是跟度数相关的,就T了那么我们维护有根森林,并保证在黑森林中每个连通块除了根一定是黑的,白森林中每个连通块除了根一定是白的(事实上我们会发现这样的话只有原树的根是不一定什么颜色的,对于其他的连通块的根,颜色一定是与这个连通块里其余的点不同的)那么修改的时候就只需要把修改点与他的父亲之间在两个森林里分别l
neither_nor
·
2020-08-08 18:37
BZOJ
LCT
BZOJ
3510 首都
到所有点距离和最小的点就是重心因为只有link操作,我们可以考虑启发式合并,这样最多会有nlogn次“插入一个叶子节点”操作一棵树插入一个叶子节点之后,重心要么不变,要么向叶子的方向移动一条边,移动的条件是叶子所在的子树大小*2大于这棵树的大小(或者相等取编号小的)用LCT维护子树大小即可有关LCT维护子树信息的讲解可以看这里#include#include#include#include#inc
neither_nor
·
2020-08-08 18:37
BZOJ
LCT
启发式合并
BZOJ
P2659[Beijing wc2012]算不出的算式
BZOJ
第100题!!
萌呆233
·
2020-08-08 18:30
bzoj
刷题
[NOI2016]优秀的拆分 后缀自动机 树上启发式合并 线段树
[NOI2016]优秀的拆分题目传送门luogu
bzoj
分析这道题不管采用Hash,后缀数组还是自动机,网上大部分的题解都采用了关键点+调和级数这个操作。
lvzelong2014
·
2020-08-08 17:38
数据结构-线段树&&树状数组
bzoj
3514:Codechef MARCH14 GERALD07加强版 关于一类LCT维护动态图的连通性问题
3514:CodechefMARCH14GERALD07加强版TimeLimit:60SecMemoryLimit:256MBSubmit:1900Solved:721[Submit][Status][Discuss]DescriptionN个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。Input第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加
lvzelong2014
·
2020-08-08 17:06
分治技巧在高级数据结构中的应用——线段树分治(二)&&
bzoj
4137火星商店问题详解
分治技巧在高级数据结构中的应用——线段树分治(二)从一道神题说起4137:[FJOI2015]火星商店问题TimeLimit:20SecMemoryLimit:256MBSubmit:210Solved:98[Submit][Status][Discuss]Description火星上的一条商业街里按照商店的编号1,2,…,n,依次排列着n个商店。商店里出售的琳琅满目的商品中,每种商品都用一个非负
lvzelong2014
·
2020-08-08 17:06
分治结构-线段树分治
数据结构-可持久化Trie树
BZOJ
4712 洪水 动态dp(LCT+矩阵乘法)
30min写完,细节调了几乎两天~这玩意太tm恶心了~#include#defineN200005#definelllonglong#defineinf10000000005#definelsonp[x].ch[0]#definersonp[x].ch[1]#definesetIO(s)freopen(s".in","r",stdin),freopen(s".out","w",stdout)usi
EM-LGH
·
2020-08-08 17:01
BZOJ
1180 / 2843 LCT模板题_双倍经验
BZOJ
1180/2843LCT模板题_双倍经验一大早上到机房想先拍一下模板,热热身.结果....对照着染色敲的LCT竟然死活也调不过去(你说我抄都能抄错)干脆自己重新敲了一遍,10min就敲完了...
EM-LGH
·
2020-08-08 17:01
[
bzoj
3553] [luogu4332] [SHOI2014] 三叉神经树 - lct - 动态dp
传送门:https://www.luogu.org/problemnew/show/P4332题目大意:给定一棵树,每个点有3个输入信号的接口(连向外部或儿子)和1个输出信号的接口(连向父亲),1号点是根。信号是0或1。一个点输出的信号是输入信号中较多的那个。每次修改一个外部接口传入的信号,输出1号节点输出的信息。看到网上很多log^2甚至log^3的做法,这里放一个lct的一个log做法,可能是
liuzhangfeiabc
·
2020-08-08 17:24
杂题
BZOJ
2049
最裸的lct了吧==,直接根据题目连边删边,然后判断一蛤2个点是否在同一棵splay中吧,抄了一份模板,以后慢慢理解,估计还要改。#include#include#include#definemaxl100010usingnamespacestd;intn,m;intfa[maxl],c[maxl][2],s[maxl];boolrev[maxl];charss[10];inlinevoidpre
二分抄代码
·
2020-08-08 17:08
LCT
BZOJ
2002
#include#include#include#include#definemaxl200010usingnamespacestd;intn,m,cnt,size;inta[maxl],l[maxl],r[maxl],times[maxl],nxtpos[maxl],pos[maxl];voidprework(){for(inti=1;i=1;i--){times[i]=1;nxtpos[i]=
二分抄代码
·
2020-08-08 17:37
分块思想
BZOJ
4551 树 dfs序+线段树 / 并查集
题目链接题意给定一颗有根树(根为1),有以下两种操作:1.标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记);2.询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)。法一:dfs序+线段树分析类似于区间修改,单点查询,因为给某个结点打上标记会对它的整棵子树产生影响。修改的注意点是只有当前修改的情况优于当前标记的情
kkkkahlua
·
2020-08-08 17:11
dfs
并查集
BZOJ
线段树
树
bzoj
2555 SubString (SAM+LCT维护子树大小/ETT)
Description懒得写背景了,给你一个字符串init,要求你支持两个操作(1):在当前字符串的后面插入一个字符串(2):询问字符串s在当前字符串中出现了几次?(作为连续子串)你必须在线支持这些操作。毒瘤显然就是sam求endpos大小,强套LCT。时隔多年又打了一次维护子树大小。大致就是维护:fsum[x]表示虚父亲为x的tsum和。tsum[x]表示x的splay和,=tsum[child
jokerwyt
·
2020-08-08 16:24
新内容
题解
数据结构
树上问题
上一页
55
56
57
58
59
60
61
62
下一页
按字母分类:
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
其他