【题目链接】 http://www.spoj.com/problems/SUBLEX/en/ 【题意】 给定一个字符串,询问次序为k的子串。 【思路】 SAM,名次 建好SAM后求出每个结点根据trans转移向下统计有多少与该结点有相同前缀的子串,每个结点只算一个,因为该结点所代表的字符串集中只可能
转载 2016-02-18 17:18:00
40阅读
2评论
Little Daniel loves to play with strings! He always finds different ways to have fun with strings! Knowing that, his friend Kinan decided to test his
转载 2017-08-02 02:03:00
45阅读
2评论
SPOJ_7258 SUBLEX     这个题目可以先用O(N)的时间构造出后缀自动机,由于后缀自动机中每条路径都对应着一个不重复的子串,因此可以用dp处理出到达一个节点以及其后面的节点的路径数,然后每次查询时遍历一遍后缀自动机就可以了。     但这样总的查询复杂度是O(N*Q)的,如果不用各种常数优化的话很容易TLE。 #include<stdio.h> #include&lt
转载 2012-09-11 16:04:00
48阅读
2评论
[SPOJ7258]Lexicographical Substring Search 试题描述 Little Daniel l
转载 2017-03-13 19:40:00
50阅读
2评论
$\color{ 0066ff}{ 题目描述 }$ 给定一个字符串,求排名第k小的串 $\color{ 0066ff}{输入格式}$ 第一行给定主串(len using namespace std; define LL long long LL in() { char ch; int x = 0,
原创 2021-07-27 09:17:36
35阅读
XXVI.SP7258 SUBLEX - Lexicographical Substring Search 在上一题中,我们二分了后缀;但这里,我们要二分的是子串。 我们设一个$sum_x$表示有多少本质不同子串的字典序小于等于$sa_i$。显然,它是单调增的。则我们可以二分找出$sum_x$小于询
转载 2021-04-01 11:06:00
68阅读
2评论
http://www.elijahqi.win/archives/3001 题意翻译 给定一个字符串,求排名第k小的串 注意样例的\n是换行 输入格式: 第一行给定主串(len<=90
原创 2022-08-08 14:11:20
71阅读
文章目录前言1 控制台操作 LoRa 网关2 RAK 7258 LoRa网关实物操作连接配置网络配置LoRa参数配置网关上线确认END 前言这篇笔记记录采用 RAK7258 LoRaWAN 网关接入腾讯云物联网开发平台的流程,腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作
【题目链接】 http://www.spoj.com/problems/SUBLEX/ 【题目大意】 给出一个字符串,求其字典序排名第k的子串 【题解】 求出sam上每个节点被经过的次数,然后采用权值线段树上查找第k大数类似的方法, 每次确定查找范围,进入相应的子树,同时输出路径上的点即可。 【代码
转载 2016-11-15 23:35:00
38阅读
http://www.spoj.com/problems/SUBLEX/后缀自动机系列完成QAQ。。。撒花。。明天or今晚写个小结?首先得知道:后缀自动机中,root出发到任意一个状态的路径对应一个子串,而且不重复。(原因似乎是逆序后缀树?所以我们在自动机上预处理每一个状态的子串数目,然后从小到大枚...
原创 2021-08-11 14:53:33
115阅读
Little Daniel loves to play with strings! He always finds different ways to have fun with strings! Knowing that, his friend Kinan decided to test his
原创 2021-09-26 09:42:18
10000+阅读
给一个字符串S,若干个查询,每个查询k输出字典序第k小的S的子串
原创 2023-07-17 18:14:03
20阅读
Code:
原创 2021-07-07 17:26:44
71阅读
题目:http://www.spo
原创 2023-05-31 17:28:49
68阅读
测试地址:Lexicographical Substring Search题目大意:给定一个字符串,有Q个询问,每个询问字符串中字典序第Ki小的本质不同的子串。做法:这几天学习了后缀自动机(Suffix Automaton,SAM),个人感觉除了clj的原论文,写得最...
转载 2017-04-02 11:37:00
54阅读
2评论
测试地址:Lexicographical Substring Search题目大意:给定一个字符串,有Q个询问,每个询问字符串中字典序第Ki小的本质不同的子串。做法:这几天学习了后缀自动机(Suffix Automaton,SAM),个人感觉除了clj的原论文,写得最...
转载 2017-04-02 11:37:00
33阅读
2评论
LINK因为所有本质不同的子串都在从根节点出发的路径上我们建立SAMSAMSAM,利用dfs/tuopudfs/tuopudfs/tuopu都可以求得sumusum_usumu​数组sumusum_usumu​表示从uuu出发能走多少条不同的路径考虑现在从根节点出发,依次贪心考虑′a′'a'′a′到′z′'z'′z′设通过′a′'a'′a′边转移到vvv当sum[v]>=ksum[v]>=ksum[v]>=k此时显然,走′a′'a'′a′边最多能到sum[v]sum[v]su
原创 2022-02-06 16:03:01
33阅读
LINK因为所有本质不同的子串都在从根节点出发的路径上我们建立SAMSAMSAM,利用dfs/tuopudfs/tuopudfs/tuopu都可以求得sumusum_usumu​数组sumusum_usumu​表示从uuu出发能走多少条不同的路径考虑现在从根节点出发,依次贪心考虑′a′'a'′a′到′z′'z'′z′设通过′a′'a'′a′边转移到vvv当sum[v]>=ksum[v]>=ksum[v]>=k此时显然,走′a′'a'′a′边最多能到sum[v]sum[v]su
原创 2021-08-27 09:52:47
127阅读
#include #include #include #include #include using namespace std; const int maxn = 1e6+7; char str[maxn]; int sa[maxn],tp[maxn],rak[maxn],tax[maxn],a[maxn],M,N; // sa代表着 排名第i小的下标是什么 // rak 代表 下标为i...
原创 2021-08-03 09:19:58
108阅读
http://blog.topspeedsnail.com/archives/7258
原创 2021-04-22 20:00:37
268阅读
  • 1
  • 2