lcp
  • 2025-01-02后缀数组学习笔记
    \(\text{后缀数组学习笔记}\)一、定义对于下标从\(1\)开始,长度为\(n\)的字符串\(s\),我们定义后缀\(i\)表示字符串\(s[i,n]\)。对于后缀数组,我们定义\(sa(i)\)表示所有后缀按字典序排序后第\(i\)小的后缀的编号。例如对于字符串aabaaab,它有\(7\)个后缀,下边我们
  • 2025-01-012025.1.1 鲜花
    Cdq解决一类最值和双端点有关的数点问题COLORFULBOX真っ白な想いに梦のかけらを描いて动き出す未来子供の顷に知った心が跃るようなわくわくする感情を今も覚えてるよ迷いや不安はない期待に溢れてる何にだってなれそうな気がしたはじまりの静けさとこれからに
  • 2024-12-304.字符串
    字符串开题顺序:\(CHBA\)\(A\)QOJ8079.RangePeriodicityQuery设第\(i\)次操作后的字符串为\(s_{i}\)。注意到若\(p\)不是\(s_{i}\)的周期则\(t\)一定不是\(s_{k}(k>i)\)的周期。对于每个\(p_{i}\)作为周期的时间都是一段区间。由luoguP3435[POI2006]
  • 2024-12-28字符串
    border理论先给出一些定义,方便理解下文。\(\textbf{\large{周期}:}\)若\(\foralli\in\left[1,|S|-p\right]\),都有\(S_i=S_{i+p}\),则称\(p\)是\(S\)的一个周期。\(\textbf{border:}\)若\(S_{\left[1,p\right]}=S_{\left[|S|-p+1,\right|S|]}\),则称\(S_{\
  • 2024-12-27ensp ppp 协议的讲解配置
    PPP(Point-to-PointProtocol,点对点协议)是一种数据仓库层协议,通常用于通过串行连接、电话线、光纤、无线等仓库建立直接的点对点通信。PPP协议的主要目的是在计算机或网络设备之间提供可靠的网络层连接和数据传输。PPP协议的应用场景包括拨号连接、DSL、VPN等。PPP协议的主要功
  • 2024-12-05[ABC287E] Karuta(字典树模板题 + 思维暴力两种做法)
    [ABC287E]Karuta题面翻译给定NNN个字符串Si
  • 2024-12-04性能优化实战,提升FP、FCP、LCP和TTI的终极策略
    Web性能优化实战:提升FP、FCP、LCP和TTI的全面优化策略在现代Web开发中,性能优化是提升用户体验的关键因素。随着用户对加载速度的要求越来越高,Web开发者需要持续关注和优化页面加载的各个环节。为此,Google等公司提出了多个性能指标来帮助开发者衡量和优化页面的响应性和可用性,
  • 2024-12-03题解:CF1968G2 Division + LCP (hard version)
    https://www.luogu.com.cn/problem/CF1968G2CF1968G2Division+LCP(hardversion)题解前言这题可以\(O(n\sqrt{n}\logn)\)再各种优化做,算法是二分、哈希(不知道包不包含根号分治,但是有用到根号分治的思想)。如果读题解有些抽象的话可以看代码辅助理解。题意转化由于
  • 2024-12-02字符串合集
    ProblemA.P7409SvT题意:给定一个长度为\(n\)的小写英文字符串\(s\)和\(q\)次询问。每次给一个大小为\(k_i\)的整数集合,询问集合内两两不同数代表的后缀的LCP的长度和,对大质数取模。\(1\leqn\leq5\times10^5\),\(1\leq\sumk_i\leq3\times10^6\),时限\(3
  • 2024-12-10分享一个让网站底部年份自动更新的方法
    原文地址:https://0jh.cn/13.html前言每年年初的时候都要我们自己手动更新底部的年份,对于博主这样的懒人,觉得太麻烦了$[经典表情]::(无奈),为了解决这个问题,以下是一个教程教程JS代码haml<scripttype="text/javascript">document.write((newDate()).getFullYear());<
  • 2024-10-23字符串优化
    字符串问题\(\mathcalO(nm)-\mathcalO(1)\)比较字符串子串大小令\(lcp_{x,y}=\operatorname{lcp}(s[x\simn],s[y\simn])\),有\[lcp_{x,y}=\left\{\begin{aligned}&lcp_{x+1,y+1}+1&&s_x=s_y\\&0&&s_x\not=s_y\end{aligned}\right.\]
  • 2024-09-07LCP 485. 最大连续 1 的个数[lleetcode -11]
    从今天起,我们的算法开始研究搜索,首先就是DFS深度优先搜索(depth-firstseach,DFS)在搜索到一个新的节点时,立即对该新节点进行遍历;因此遍历需要用先入后出的栈来实现,也可以通过与栈等价的递归来实现。对于树结构而言,由于总是对新节点调用遍历,因此看起来是向着“深”的方向前进
  • 2024-09-01【3.10】贪心算法-找出对应 LCP 矩阵的字符串
    一、题目对任一由n个小写英文字母组成的字符串word,我们可以定义一个nxn的矩阵,并满足:lcp[i][j]等于子字符串 word[i,...,n-1]和word[j,...,n-1]之间的最长公共前缀的长度。给你一个nxn的矩阵lcp。返回与lcp对应的、按字典序最小的字符串 word。如果
  • 2024-08-23生成魔咒
    先考虑没有修改操作,如何求不同的子串数量,这是后缀数组的经典应用。所有子串就是所有后缀的所有前缀。先将所有后缀按照字典序排序,然后求出\(height\)数组,从\(1\)循环到\(n\),对于排名为\(i\)的后缀来说,新增的后缀个数就是\(\text{len}[i]-height[i]\)(前者表示排名为\(i\)的后缀的长
  • 2024-08-20LCP:60 排列序列[leetcode-4]
    LCP:60排列序列给出集合[1,2,3,...,n],其所有元素共有n!种排列。按大小顺序列出所有排列情况,并一一标记,当n=3时,所有排列如下:"123""132""213""231""312""321"给定n和k,返回第k个排列。示例1:输入:n=3,k=3输出:"213"示例2:输入:n=4,
  • 2024-07-28Solution - Atcoder ARC114F Permutation Division
    令\(a\)为题目中的\(P\)。首先考虑后手的重排策略是什么。因为\(a\)是个排列,元素互不相同,那么肯定就是按照每一段的第一个数的大小,越大的放在越前面。那么当\(a_1\lek\)的时候,显然先手会把以\(1\simk\)开头来划分段。因为否则存在一个开头\(>k\)的段,后手把其放
  • 2024-06-21(nice!!!)LeetCode LCP 20. 快速公交(记忆化搜索+小顶堆+贪心)
    LCP20.快速公交思路:逆向记忆化搜索。思考从target到0所花的最小时间。通过哈希表来进行记忆化搜索,避免重复遍历。细节看注释classSolution{public:typedeflonglongLL;typedefpair<LL,LL>PII;constintmod=1e9+7;intbusRapidTransit(int
  • 2024-06-08后缀数组
    1概念首先我们需要先定义后缀,这个其实很简单。我们定义后缀\(i\)表示以第\(i\)个字符开头的后缀,相当于\(s[i,n]\)。而后缀数组则主要关系到两个数组:\(sa\)和\(rk\)。其中\(sa\)表示将所有后缀按字典序排序后第\(i\)小的后缀的编号(即后缀开头所在位置的下标),这就是后
  • 2024-05-03G2. Division + LCP (hard version)
    G2.Division+LCP(hardversion)Thisisthehardversionoftheproblem.Inthisversion$l\ler$.Youaregivenastring$s$.Forafixed$k$,consideradivisionof$s$intoexactly$k$continuoussubstrings$w_1,\dots,w_k$.Let$f_k$bethemaximal
  • 2024-04-09反正这个博客已经废弃了,那么随便发电也没事的吧
    随便写写!!!!!!!!!!!!假设读者已经知道\(SA\)和\(height\)数组。定义\(lcp(i,j)\)为字符串以\(i\)为起点的后缀和以\(j\)为起点的后缀的最长公共前缀。intlcp(inti,intj){ intl=rnk[i],r=rnk[j]; if(l>r)swap(l,r); l++; intlen=lg[r-l+1]; returnm
  • 2024-04-03CF1909G Pumping Lemma 题解
    题目链接题目要求我们对合法三元组进行计数,直接做是困难的,因此考虑通过枚举确定一部分元素再进行判定求解,那我们固定什么呢?固定\(x\)和\(y+z\)的分界线没啥用,因此我们枚举确定\(S\)中\(x+y\)和\(z\)的分界线,这样能确定一长串\(y^{k-1}\)所在的区间。接着我们不难想