源自 xyz32768 菜鸡的 FJ 省冬令营模拟赛题 原题 "CF1063F" Statement 给定一个长度为 $n$ 的字符串 $s$,仅包含小写英文字母 要从中从左往右选出若干段不相交的子串 使得选出的这些串中,每个串都是上一个串的严格子串 求最多能选出多少段 $1\le n\le5\ti ...
分类:
其他好文 时间:
2020-01-23 12:39:07
阅读次数:
95
主席树节点中维护的值,是$[x,y]$之间这个区间内数字出现了的次数 利用可持久化线段树的性质来进行查询,如查询区间$[2,5]$,即将版本五和版本一对应节点相减,即为$[2, 5]$内某个范围内的数字的个数 对于一个区间$[l, r]$,每次算出在$[l, mid]$范围内的数字个数,如果数量$ ...
分类:
其他好文 时间:
2020-01-22 22:23:48
阅读次数:
89
每次进行单点修改后,会新增$log\ n$个新节点,即每次更改的结点数为树的高度 增加的非叶子结点一个儿子是其他版本的节点,另一个儿子是连向新节点 空间复杂度为$O(n+m\ log\ n)$ $code$: ...
分类:
其他好文 时间:
2020-01-22 22:17:53
阅读次数:
89
合并不采用路径压缩,保证每次合并只修改一个节点的父亲,使当前版本与上一版本共用的节点尽可能的多 为防止并查集退化成链,采取按秩合并 $code$: ...
分类:
其他好文 时间:
2020-01-22 22:06:15
阅读次数:
80
因为$Treap$只认儿子不认爸爸,所以方便复制,直接可持久化就行了 $code:$ ...
分类:
其他好文 时间:
2020-01-22 21:48:01
阅读次数:
55
什么是Redis? Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 它提供五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序 ...
分类:
其他好文 时间:
2020-01-21 19:59:20
阅读次数:
84
[Luogu P4735]最大异或和(可持久化Trie) 题面 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Qlrx:询问操作,你需要找到一个位置p,满足l include define max ...
分类:
其他好文 时间:
2020-01-20 22:43:00
阅读次数:
77
主席树又叫可持久化权值线段树,一开始使用来解决第k大的问题,因其发明者黄嘉泰名字的首字母和某人的一样,所以被叫做主席树。 在了解主席树之前,我们先认识一下什么叫做权值线段树。 给你n个数,问你这n个数中第k小的数是哪个。像这种题我们一般都是直接排序然后暴力找,但是我们今天用线段树来试试。 例如a[1 ...
分类:
其他好文 时间:
2020-01-19 19:09:50
阅读次数:
61
Luogu P1923 求第k小的数 一看这题,静态查询区间第$k$小的数,不就是 " 可持久化线段树(主席树) " 的模板题吗?!(误) 直接把主席树的板子打上来?: AC记录: "1.04s" 我知道各位大佬一定有比我更好的方法,欢迎吊打,QAQ!(光速逃) ...
分类:
其他好文 时间:
2020-01-19 00:11:54
阅读次数:
116
这两天学习了主席树,基本上搞懂了主席树是怎么操作的 主席树,是一种可持久化线段树。最简单的操作就是维护静态区间第 $k$ 小 主席树通过维护历史版本,实现查询区间的有关操作 主席树的原理 假设现在有这么一个序列:$4,1,3,5,2$ 问如何求出区间[1,3]内大小为第二的数? ~~利用大眼观察法, ...
分类:
其他好文 时间:
2020-01-18 12:54:00
阅读次数:
69