![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
forever_shi
但行好事,莫问前程;行你所行,无问西东!
展开
-
洛谷4094 HEOI2016 TJOI2016 字符串 SAM 倍增 主席树+树上差分/线段树合并 二分 (无代码)
题目链接题意:给你一个长度为nnn的字符串,有mmm次询问,每次询问给你四个参数a,b,c,da,b,c,da,b,c,d,问你字串s[a...b]s[a...b]s[a...b]中的所有字串与字串s[c..,d]s[c..,d]s[c..,d]的最长公共前缀的长度。n,m<=1e5n,m<=1e5n,m<=1e5,字符集是小写字母题解:兴冲冲地去你谷找主席树的黑题,结果发现四道写过两个,其中IOI那个写的是线段树合并,然后这个好像又不是个难题。由于退役太久,现在不会SA了,然原创 2020-11-13 20:29:56 · 91 阅读 · 0 评论 -
SDOI2018 原题识别 洛谷4618 主席树 莫队 (无代码)
题目链接题意:有一棵nnn个点的无根树,每个点有一个点权。有mmm次询问,每次询问有两种,第一种是给你树上两个点x,yx,yx,y,询问这条路径上不同颜色的个数;第二种是给你树上两个点x,yx,yx,y,询问这条链上任取两点形成的子链不同的权值的点的个数之和。这个题还有一个特别之处,就是他会先给你一条链,然后其他点是随机插入到已有的树上的。n<=1e5,m<=2e5,10sn<=1e5,m<=2e5,10sn<=1e5,m<=2e5,10s题解:我高一时二轮当原创 2020-11-08 19:47:48 · 134 阅读 · 0 评论 -
CF1422 F Boring Queries 主席树 线段树 数论 (无代码)
题目链接一些说明:现在是ACM选手了,但是由于大学里也真的很忙,所以可能有些题没时间写代码了,但是思想又不错,我就写一下思路,做个笔记。可能寒暑假有机会再补代码吧题意:给你一个长度为nnn的序列,每个数字是满足1<=ai<=2e51<=a_i<=2e51<=ai<=2e5的正整数,有qqq次询问,每次问你一个区间[l,r][l,r][l,r]的LCMLCMLCM是多少,模1e9+71e9+71e9+7,强制在线。n,q<=1e5n,q<=1e5n,q原创 2020-10-23 21:20:36 · 165 阅读 · 0 评论 -
CF453E Little Pony and Lord Tirek 主席树 set
题目链接题意:你有nnn个东西,每个东西一开始有一个值,每个东西每一秒它的值会增加一个固定的量(可能是000),并且每个东西有一个上限,它的值增长到上限就不再增长。你有mmm次询问,每次在某一个时刻询问一个区间[l,r][l,r][l,r]的所有东西的值之和,并且在询问结束时将这个区间内的所有数清零。保证询问的时刻是单调递增的。n,m<=1e5n,m<=1e5n,m...原创 2019-05-01 21:50:01 · 313 阅读 · 0 评论 -
洛谷4211 LNOI2014 LCA 树剖 主席树
题目链接题意:给你一个nnn个点的树,有qqq次询问,每次给你一个区间和一个点xxx,问你xxx这个点和区间里每一个点的lca的深度之和。n,q<=50000n,q<=50000n,q<=50000。题解:这个题我的代码在BZOJ上RE了,不知道为什么原因,但是在洛谷上过了,不想调了。于是就不挂BZOJ的标签了。做法是,你一般来说,要做一个区间的点不好搞...原创 2019-03-26 16:37:24 · 255 阅读 · 0 评论 -
洛谷4755 Beautiful Pair 分治 主席树 离散化
题目链接题意:给你一个长度为nnn的序列,问存在多少对(i,j)(i,j)(i,j),满足ai∗aj<=max{ai,ai+1...aj}a_i*a_j<=max\{a_i,a_{i+1}...a_{j}\}ai∗aj<=max{ai,ai+1...aj}。也就是有多少个位置对满足序列上的值的乘积小于等于区间最大值。n<=1e5n&am...原创 2019-03-24 19:20:19 · 170 阅读 · 0 评论 -
洛谷3168 BZOJ3932 CQOI2015 任务查询系统 主席树 离散化
题面链接题意:给你nnn个数,每个数有一个权值,这个数会在[li,ri][l_i,r_i][li,ri]这个时间区间出现。有mmm次询问,保证询问的时刻是111到mmm的一个排列,每次问一个时刻前kkk小的权值的和。数字个数不足kkk的话输出所有数的和。强制在线。题解:我这种没长脑子是傻瓜选手也就能想出个这种水题了。。然而还半天没写对。。首先感觉这种kkk小的经常就是主席树的题吧。...原创 2019-02-07 23:02:27 · 143 阅读 · 0 评论 -
洛谷3066 USACO12DEC 逃跑的BarnRunning Away From… 主席树 离散化
题面链接题意:给你一个nnn个点的以1为根的有根树,求每个点为根的子树内距离它不超过lll的点的个数。lll是事先给定的,n&lt;=2e5n&lt;=2e5n<=2e5。题解:然而我的这个做法可能不是最简单的,但是思路上并不难。而且我这个做法是可以支持每次询问的lll不同的。我的思路是用主席树维护dfs序,因为一个子树是dfs序连续的一个区间,主席树有这种前缀可减...原创 2019-02-05 22:40:38 · 160 阅读 · 0 评论 -
洛谷4197 BZOJ3545 BZOJ3551 peaks Kruskal重构树 主席树 线段树合并
题面链接题意:给你一个n个点m条边的无向图,边有边权,点有点权。有q次询问,每次问你从x出发,只能经过边权不超过y的边,能到达的所有点中点权第k大的权值是多少,如果不存在就输出-1。n<=1e5,m,q<=5e5BZOJ3551和另外两个题号的题面的区别是多了一个强制在线。题解:先吐槽两句。写这个题真的是心态崩了。这个题本来并不怎么难,但是我却一直RE,过了对拍也没有用。在洛...原创 2019-02-03 14:28:11 · 248 阅读 · 0 评论 -
洛谷3302 BZOJ3123 SDOI2013 森林 主席树启发式合并
题目链接题意:给你一个森林,点有点权,有两种操作,一种是把x与y之间连一条边,保证连边之后仍然是树形结构;一种是询问x到y的路径上第k大的点权是多少,保证x到y连通并且路径上有第k大的点。n<=80000题解;如果没有连边,那么就是count on tree那道题,可以在这里。那么我们就考虑连边怎么处理。常见的支持连边的东西有并查集、LCT和启发式合并以及暴力合并。如果暴力合并肯定...原创 2018-11-27 20:56:35 · 189 阅读 · 0 评论 -
洛谷2633 BZOJ2588 Count on a tree 主席树 倍增LCA
题目链接题意:给你一棵树,m次询问,每次求x,y路径上的第k小值题解:首先将权值离散化之后,用主席树维护。主席树中每一棵线段树中记录从该点到根(我规定了1号节点为根)的信息之和,这样求一条链的信息就相当于求x到根+y到根-lca(x,y)到根-father(lca(x,y))到根,这样就可以不重不漏地包含链上每个点的信息一遍,可以自己画个图看看。其中LCA可以倍增求出,然后我们在询问时要...原创 2018-10-04 22:16:09 · 144 阅读 · 0 评论 -
洛谷2839 BZOJ2653 middle 主席树 二分答案
题目链接 题意: 给你n个数,q次询问,每次给你4个数a、b、c、d,求左端点在区间[Math Processing Error][a,b][a,b]内,右端点在区间[Math Processing Error][c,d][c,d]之间的所有子序列的最大中位数。强制在线。题解: 首先,我们假设答案中位数是[Math Processing Error]xx,那么我们把区间[Math Pro...原创 2018-07-27 13:10:52 · 197 阅读 · 0 评论