首页 > TAG信息列表 > lcp

[NOI2016] 优秀的拆分 题解

[NOI2016] 优秀的拆分 题解 link 题意 \(T\) 组询问,每组一个字符串 \(s\) 求 \(s\) 所有字串分成 \(AABB\) 的方案数之和。 \(A,B\) 为非空串。 题解 设 \(f_i\) 为一 \(i\) 结尾的 \(AA\) 串数量,\(g_i\) 为一 \(i\) 结尾的 \(AA\) 穿数量。 \(ans=\sum f_{i}\times g_{i+1}\) 考

后缀数组(SA)学习笔记

后缀数组是一个很强的字符串算法,可以解决众多有关子串的问题。 定义 已知一个字符串 \(S\),那么定义 \(S_i\) 表示 \(i...n\) 形成的后缀。 \(sa_i\) 表示把这些后缀按字典序排序后,排名第 \(i\) 的串的起始下标。 \(rk_i\) 表示把排序后 \(S_i\) 的排名,可以发现 \(rk_{sa_i}=i\)。

【Coel.学习笔记】后缀数组

在学校补了几天的动规,算是把一些基本题型都弄完了。 回来继续做 NOI 知识点~ 不过可能过几天又要补 DP 了 引入 后缀数组(\(\text{Suffix Array}\),简称 \(\text{SA}\))通过利用各种算法进行后缀排序来维护数组,实现很多与后缀相关的问题。 模板 洛谷传送门 读入一个字符串,把这个字符

扩展 KMP(Z 函数)

扩展 KMP(Z 函数) 下文用 \([a, b]\) 表示 \(s[a \to b]\),\((l, r)\) 表示当前 \(r\) 最右的匹配段。 问题一 要解决的问题为:求出 \(z\) 函数,\(z(i) = \operatorname{LCP}(s[i, nS], s[1, nS])\),其中 \(\operatorname {LCP}(a, b)\) 表示 \(a, b\) 的最长相同前缀。 考虑到 \([l, r]

题解 CF1073G Yet Another LCP Problem

题解 CF1073G Yet Another LCP Problem 题目链接 题意描述 定义\(LCP(S_i,S_j)\)为字符串\(S\)的后缀\(i\)和后缀\(j\)的最长公共前缀长度。 给定一个长为\(n\)的字符串\(S\),\(q\)次询问,每次询问给出两个正整数集合\(A,B\),大小分别为\(k,l\),求\(\sum\limits_{i\in A,j\in B}LCP(S

虚树,KD-Tree,长链剖分,后缀数组,后缀自动机

真的就是讲课两天,吸收一个月呢! \(1.\)虚树 \(2.\)KD-Tree \(3.\)长链剖分 \(4.\)后缀数组 时间复杂度:倍增求法,复杂度 \(O(nlogn)\) 首先把 \(s\) 的每个后缀字典序排序。 \(sa[i]:\) 排名第 \(i\) 位的是第几个后缀(起始下标)。 \(rk[i]:\) 第 \(i\) 个(起始下标为 \(i\))的后缀的的排

UbuntuWifi网络连接不上或经常断网 (转)

我的问题描述:安装双系统后,使⽤Ubuntu系统经过⼀段时间的待机wifi就会扫描不到⽹络也连不上需要反复执⾏sudo service network-manager restart才能扫描上wifi,发现了以下的解决⽅式成功解决问题,希望对你遇到的问题也有⼀定的帮助.问题:问题1.知道wifi密码,驱动也有,可以点击连接,

LCP 03.机器人大冒险

def robot(command, obstacles, x, y): xx = 0 yy = 0 tmp = [] for c in command: if c == 'U': yy += 1 if c == 'R': xx += 1 tmp.append([xx, yy]) #print(tmp) index, times= -1, -1

正方形的旋转和翻转/LCP 58. 积木拼接

正方形经过任意的旋转(90°)和翻转后,只能有8种情况,而非4!种。 解释如下: http://www.360doc.com/content/18/0407/14/30048172_743530034.shtml 可以用4种旋转和1种翻转,遍历到这8中情况。 例题: LCP 58. 积木拼接 先处理出每个给定面的旋转和翻转结果,再处理出正方体每个面对应哪个给定

【洛谷】P2743 [USACO5.1]乐曲主题Musical Themes(后缀数组+二分)

原题链接 题意 给出长度为 \(N\) 的数字串,求最大相似子串长度,如果没有输出 \(0\)。 相似子串定义为: 1.两个不重叠的子串,其中一个是另一个加/减一个数得来的。 2.长度 \(\geq 5\)。 数据范围 \(1 \leq N \leq 20000,1 \leq a_i \leq 88\)。 思路 对于相似子串的第一个定义,很容易想

LeetCode 0014 Longest Common Prefix

原题传送门 1. 题目描述 2. Solution 1 1、思路分析 方法一: 横向扫描 用LCP(S1, ..., Sn) 表示字符串S1, ..., Sn的最长公共前缀 可以得到以下结论: LCP(S1, ..., Sn) = LCP(LCP(LCP(S1, S2), S3), ... Sn) ​ 2、代码实现 package Q0099.Q0014LongestCommonPrefix; /* 方法

cf611 D. New Year and Ancient Prophecy(dp+LCP)

题意: 把一个n位整数切成若干段,得到若干个整数。要求每个数都不为0,每个数都没有前缀0,且前一个数严格小于后一个数。问切割数方案取模。 \(n\le 5000\) 思路: \(O(n^2)\) 的dp,\(f(l,r)\) 表示最后一段是 \([l,r]\) 的方案数,则答案是 \(\sum\limits _i f(i,n)\) 状态转移:若(作为一个整

ppp原理

ppp原理与配置, ppp是为在对点点连接上,传输多协议数据包提供了一个标准方法。 广域网中经常会使用串行链路来提供远距离的数据传输,高级数据链路控制hdlc和点对点协议ppp是两种典型的串口封装协议,目前使用较多的是ppp协议。以太网多路访问, pppoe把点对点的链路应用在以太网上,华为的

后缀数组题目选讲

后缀数组题目选讲 复习题:luogu题单 CNOI的题 \(1.\)NOI2015 品酒大会 题意:\(\forall i∈[0,n)\)求有多少对后缀满足\(lcp \ge i\)​,以及满足条件的两个后缀的权值乘积的最大值。 我们统计出对于\(1...n\)中的每个\(i\)统计一下有多少个\(lcp=i\)再做个后缀和。 因为\(lcp(i,j)=m

【YBT2022寒假Day1 C】相似子串(SA)(RMQ)(LCP)

相似子串 题目链接:YBT2022寒假Day1 C 题目大意 给你一个数字串,然后每次问你一个子串,问这个数字串中有多少个子串(包括自己)跟它相似。 定义相似是长度相同,且数组可以通过把数字集体置换成另一种形式得到另一个数组。 思路 考虑把这个相似的属性转化一下,把相等的颜色要求去掉: 可以从

后缀数组 - 总结

构建过程 基数排序 tips:先比较低位,再比较高位 时间复杂度 o(nk) 其中 k 表示位数 思考:如果我把一个串的位数压缩的尽可能小 ??? 倍增优化。考虑每一轮让比较的长度变为原来的两倍。 结构 一些应用 先引入两个新的数组:height[i] 表示 sa[i] 和 sa[i-1] 的最长公共前缀,即 lcp(sa[

【算法】【感悟】LCP 03. 机器人大冒险

当面试官问我场景题、算法时,他们不希望看到我直接上手就写。 他们想慢慢的让我自己思考、与面试官交谈。 说出对这道题的理解。 LCP 03. 机器人大冒险 如下: 这道题,它的目的是求出机器人是否能够安全到达终点。 其中只需要判断:1、机器人能到达终点;2、机器人不会撞墙 思路最简

leetcode二叉树-LCP 44. 开幕式焰火

遍历+去重 package binarytree.numColor; import binarytree.untils.TreeNode; import java.util.HashMap; import java.util.Map; /** * LCP 44. 开幕式焰火 * 「力扣挑战赛」开幕式开始了,空中绽放了一颗二叉树形的巨型焰火。 * 给定一棵二叉树 root 代表焰火,节点值表

bzoj3238 差异(后缀数组+单调栈)

题目链接 解题思路   前面的部分可以直接求,关键是如何快速求后半部分。   我们知道两个后缀之间的lcp即他们之间的height数组的最小值。由于题目是对不同的数对计数,我们可以把后缀按照rk重新排序,每次计算当前的后缀j与它前面的后缀i的lcp,不难发现从j到i的过程中对height取min,

CCPC2019 Harbin Site B.Binary Numbers

传送门 题面挺不好懂,简单来说就是有\(0 \sim 2^m-1\)个数被划分成了\(n\)段,从每一段中选出一个数\(a_i\),要满足题中的限制。而一种\(\{a_i\}\)选择方案的价值是这\(n\)个数的乘积,问所有合法的方案的价值之和对\(100000007\)取模的结果。 首先关于题目中的函数\(F_m(a,b)\),其实就

公主箱の魔法

作为公主星上的公主,GZX拥有一个魔箱,叫做公主箱 当你第一次启动公主箱时,它会给你n个字符串 当你第二次启动公主箱时,它会把这n个字符串的所有前缀都给你,这里的前缀包含自己,且重复前缀只会出现一次,我们把这些字符串称为新字符串,且这些新字符串是按顺序编号的,已就是说,先给第一个

PTA7-11 N个数求和

本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一

hdu 6194 string string string

https://acm.hdu.edu.cn/showproblem.php?pid=6194   题意: 给出一个串,询问他有多少个子串恰好出现k次   用后缀数组的height数组做 我们枚举按照rank排序的长为k的后缀子区间[l,r] 设这段区间的最长公共前缀位lcp 那么可以得出结论:以sa[l]开始的,长度为1、2、……lcp的子串都至少

LCP 39. 无人机方阵

在 「力扣挑战赛」 开幕式的压轴节目 「无人机方阵」中,每一架无人机展示一种灯光颜色。 无人机方阵通过两种操作进行颜色图案变换: 调整无人机的位置布局切换无人机展示的灯光颜色 给定两个大小均为 N*M 的二维数组 source 和 target 表示无人机方阵表演的两种颜色图案,由

前端页面性能指标

基本指标介绍 1. 首次绘制(First Paint,FP) FP 是时间线上的第一个“时间点”,是指浏览器从响应用户输入网址地址,到浏览器开始显示内容的时间,简而言之就是浏览器第一次发生变化的时间。 2. 首次内容绘制(First Contentful Paint,FCP) FCP(全称“First Contentful Paint”,翻译为“首次内容