spoj8222 Substrings (后缀自动机)_spoj 8222-程序员宅基地

技术标签: 后缀自动机  

spoj8222 Substrings

题意:f[x]表示所有长度为 x 的子串中,出现次数的最大值。求所有f[x]

方法:建立SAM,根据拓扑序找到长度为 x 的子串个数,更新一下就行了

#include <stdio.h>
#include <string.h>
#define N 250010
char str[N];
int root,cnt=0,n,last,ans[N],son[N<<1][26],mx[N<<1],size[N<<1],fa[N<<1],c[N<<1],a[N<<1];
inline int max(int x,int y){
    if(x>y) return x;
    return y;
}
inline void ins(int ch){
    int p=last,np=++cnt;last=np;mx[np]=mx[p]+1;size[np]=1;
    while(p && !son[p][ch]) son[p][ch]=np,p=fa[p];
    if(!p) fa[np]=root;
    else{
        int q=son[p][ch];
        if(mx[q]==mx[p]+1) fa[np]=q;
        else{
            int nq=++cnt;mx[nq]=mx[p]+1;
            memcpy(son[nq],son[q],sizeof(son[q]));
            fa[nq]=fa[q];fa[q]=fa[np]=nq;
            while(son[p][ch]==q) son[p][ch]=nq,p=fa[p];
        }
    }
}
int main(){
    scanf("%s",str+1);n=strlen(str+1);last=root=++cnt;
    for(int i=1;i<=n;i++) ins(str[i]-'a');
    for(int i=1;i<=cnt;i++) c[mx[i]]++;
    for(int i=1;i<=cnt;i++) c[i]+=c[i-1];
    for(int i=cnt;i>=1;i--) a[c[mx[i]]--]=i;
    for(int i=cnt;i>=1;i--){
        int p=a[i];size[fa[p]]+=size[p];
        ans[mx[p]]=max(ans[mx[p]],size[p]);
    }for(int i=1;i<=n;i++) printf("%d\n",ans[i]);
    return 0;
} 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sunshiness_s/article/details/80701277

智能推荐

python快速编程入门课本中的名片管理器_python优雅操作-实现名片管理系统-程序员宅基地

文章浏览阅读152次。python的确是适合零基础的编程爱好者学习的语言,python的程序能看懂,但是很难去实现,这是每一个学习python的新手们基本上都会遇到的难题。好记性不如烂笔头,把知识运用到实战项目中,这是最好的记忆法。在比较熟悉python常用的数据类型之后,我们可以开始优雅地操作一个小项目,实现名片管理系统能实现如下功能:名片管理系统1.添加名片2.删除名片3.修改名片4.查询名片5.退出系统0.显示所..._用编程实现名片管理器功能:

springboot+java技术+Mysql 数据库小说在线阅读系统 计算机毕业设计源码82630_spring boot读取数据库中的内容实现小说阅读-程序员宅基地

文章浏览阅读1.6k次,点赞7次,收藏11次。本文以java为开发技术,实现了一个小说在线阅读系统。小说在线阅读系统的主要使用者分为管理员、读者用户、作者用户;实现功能:首页、网站管理(轮播图、网站公告)人员管理(管理员、读者用户、作者用户)购物管理(小说商城、分类列表、订单列表)模块管理(小说类型、本周强推、点击榜单、更新榜单、创作作品、系统收入汇总、读者建议、作者建议、提现信息、稿费明细、稿费信息)个人管理等功能。通过这些功能模块的设计,基本上实现了整个小说信息管理的过程。具体在系统设计上,采用了B/S的结构,同时,也使用java技术在动态页面上_spring boot读取数据库中的内容实现小说阅读

2021CTF工业信息安全技能大赛-隐藏的工艺_ctf pcz-程序员宅基地

文章浏览阅读2.1k次。2021CTF工业信息安全技能大赛-隐藏的工艺工控安全工程师把工艺流程分享在论坛中,并留下关键敏感信息,你能找到相关线索吗?flag格式为:flag{}。二、解题步骤1.使用strings过滤查看图片发现隐藏在其中的PCZ文件,猜测为图片隐写;2.修改图片为zip可以解压需要密码3、需要密码尝试进行爆破得到FC00,解压获得一个01的文件夹4、使用7z查看其中是否隐藏有其它内容,在其中bmp下发现flag二维码图片。..._ctf pcz

斗鱼弹幕服务器第三方接入协议v1.6.2,.NET斗鱼直播弹幕客户端(上)-程序员宅基地

文章浏览阅读1k次。前言现在直播平台由于弹幕的存在,主播与观众可以更轻松地进行互动,非常受年轻群众的欢迎。斗鱼TV就是一款非常流行的直播平台,弹幕更是非常火爆。看到有不少主播接入 弹幕语音播报器、 弹幕点歌等模块,这都需要首先连接斗鱼弹幕。经常看到其它编程语言的开发者,分享了他们斗鱼弹幕客户端的代码。.NET当然也能做,还能做得更好(只是不知为何很少见人分享????)。本文将包含以下内容:我将使用斗鱼TV官方公开的弹幕PD..._斗鱼弹幕服务器

华创杯总结_华创杯个人心得-程序员宅基地

文章浏览阅读825次。11-22晚上举行的华创杯决赛。提前看了决赛前十的作品,觉得自己前六的概率应该_华创杯个人心得

SPSS Modeler——超市商品购买关联分析_spssmodeler关联分析-程序员宅基地

文章浏览阅读4.1w次,点赞71次,收藏393次。摘要关联分析,用于发现隐藏在大型数据集中的有意义的联系。这种联系反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物就能够通过其他事物预测到。超市在运营中保存了交易明细帐数据,考虑根据顾客购买商品的情况,分析商品购买之间的关联,从而为超市提供合理的建议。本次试验主要有两个分析方向,分别是分析商品之间的潜在联系和分析顾客可能还会购..._spssmodeler关联分析

随便推点

基于Apache2.2配置虚拟域名访问_apache不配置域名能跑吗-程序员宅基地

文章浏览阅读5.3k次,点赞2次,收藏7次。最近在项目测试中用到了虚拟域名,因为是和sqlserver的数据库一块使用,所以使用的PHP版本和apache版本都比较低,自己配置了一遍后,做个笔记,希望对其他人也有帮助。1.进入到apache的文件目录下,打开httpd.conf文件2.打开文件后,搜索,rewrite,找到下面图片中的这一行,然后把#号去掉。继续搜索vhosts这一行,继续把注释#去掉3._apache不配置域名能跑吗

关于堆栈区别的总结_栈的大小是固定的吗-程序员宅基地

文章浏览阅读1.3k次。堆栈的区别管理方式不同:栈:栈区空间由操作系统分配与释放,用于存储局部变量、函数参数等。堆:堆区空间由程序员自主分配与释放。空间大小不同:栈:栈的大小是固定的,不同的操作系统也不同。window一般为2M,linux下为10M堆:理论上可以分配虚拟地址空间大小的内存。分配效率不同:栈分配空间的效率更高。栈的擦偶哦在硬件层提供支持。分配专门的寄存器来存储栈的地址,压栈出..._栈的大小是固定的吗

智源论坛报名丨斯坦福大学马腾宇博士:为深度模型设计显示正则器-程序员宅基地

文章浏览阅读182次。深度模型有高超的学习(数据拟合)能力,但为了提高模型的泛化能力、让模型在新的数据上也有好的表现,我们需要寻找一些方法干扰模型的训练过程,避免模型“记住”训练数据,这就是正则化。本次报告邀..._魏哲巍清华交叉信息研究院

服务器已联网 不能远程桌面,几种常见的Windows 服务器无法联网/无法连接远程桌面等故障解决方案...-程序员宅基地

文章浏览阅读8.5k次。SEO优化扫我一、服务器无法连接远程桌面1、Ping不通IP,网站打不开,不可以远程连接。可能是服务器死机了,或者网络有问题,请尝试Web重启服务器或联系服务商确认。2、Ping正常,网站可以打开,远程桌面无法连接,请尝试Web重启服务器或者联系服务商确认。另外你是否修改了远程桌面端口,而没有在防火墙例外该端口.3、终端服务器超出了最大允许连接数,Windows 2003 系统默认可以同时登陆2个..._windows 开启了远程桌面服务还是无法远程

【SpringBoot】扩展机制之Spring Factories(例如EnableAutoConfiguration接口、spring.factories文件)_spring factories enableautoconfiguration-程序员宅基地

文章浏览阅读1k次。https://blog.csdn.net/lvoyee/article/details/82017057_spring factories enableautoconfiguration

iOS开发 - 第04篇 - 网络 - 02 - JSON解析 & 请求 & 黑酷例子 & HTTP通信-程序员宅基地

文章浏览阅读762次。1、JSON解析2、异步请求3、网络通信小结4、黑酷例子5、XML解析6、XML小结7、POST请求8、HTTP底层通信9、HTTP通信小结10、请求超时 & URL转码11、发送JSON给服务器12、多值参数

推荐文章

热门文章

相关标签