题目链接:点击查看

题目大意:给出后缀自动机的定义以及各部分的参数,要求模拟后缀自动机的各个部分

题目分析:直接按照后缀自动机的定义模拟就好了,因为字符串的长度只有50,所以可以用n^3的算法暴力,还可以用二进制记录endpos,配合stl写起来就非常简单了

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<sstream>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=110;string s;map<LL,string>longest,shortest;map<string,LL>node;void init()
{for(int i=0;i<s.size();i++)//枚举起点for(int j=1;j+i<=s.size();j++)//枚举长度{string sub=s.substr(i,j);//确定子串LL st=0;for(int k=0;k+j<=s.size();k++)//枚举所属endpos的起点 {if(s.substr(k,j)==sub)st|=1LL<<(k+j);} node[sub]=st;if(shortest[st].empty()||j<shortest[st].size())shortest[st]=sub;if(j>longest[st].size())longest[st]=sub;}
}int main()
{
//#ifndef ONLINE_JUDGE
//  freopen("input.txt","r",stdin);
//#endifios::sync_with_stdio(false);cin>>s;init();int w;cin>>w;while(w--){string s;cin>>s;LL st=node[s];cout<<shortest[st]<<' '<<longest[st];int pos=0;while(st){if(st&1)cout<<' '<<pos;pos++;st>>=1;}cout<<endl;}return 0;
}

HihoCoder - 1441 后缀自动机一·基本概念(模拟,后缀自动机入门好题)相关推荐

  1. 【hiho】127 后缀自动机一·基本概念 【后缀自动机】

    传送门:后缀自动机一·基本概念 后缀自动机(Suffix Automaton,简称SAM)是处理字符串的很强大的工具,对于一个字符串S,它对应的后缀自动机是一个最小的确定有限状态自动机(DFA),接受 ...

  2. HihoCoder - 1441 后缀自动机一·基本概念(模拟)

    描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称SAM).对于一个字符串S,它对应的后缀自动机是一个最小的确定有限状态自动机(DFA),接受且只 ...

  3. hihoCoder #1441 : 后缀自动机一·基本概念

    题目链接 输入 第一行包含一个字符串S,S长度不超过50. 第二行包含一个整数N,表示询问的数目.(1 <= N <= 10) 以下N行每行包括一个S的子串s,s不为空串. 输出 对于每一 ...

  4. 【元胞自动机】基于matlab元胞自动机模拟交通路况(含超车)【含Matlab源码 2389期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  5. 元胞自动机 | Matlab实现基于CA元胞自动机的生命游戏模拟

    文章目录 效果一览 文章概述 程序设计 参考资料 效果一览 文章概述 元胞自动机 | 基于CA元胞自动机的生命游戏模拟."生命游戏"是一个"元胞自动机",它是一 ...

  6. 【元胞自动机】基于matlab元胞自动机模拟SEIR传播模型和采取隔离措施的SEIR模型【含Matlab源码 2181期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视.1970 年, 剑桥大学的约翰 · 何顿 ...

  7. 简(kun)单(nan)到让我开(jue)心(wang)的后缀自动机全家桶(普通后缀、广义后缀、子序列)...

    目录 参考文献 后缀自动机是什么神仙玩意? 例题 right集合.等价类以及Parent树 定义 等价类性质 Trie?DAG? 自动机?自动鸡? 自动机的基本性质 一定存在后缀自动机吗? 后缀自动机 ...

  8. 深入浅出springboot 下载_有没有相见恨晚的学习模电好方法?《新概念模拟电路》全五册合集免费下载...

    俗话说:没烧过电阻三极管.炸过电容是学不好模电的,没被烙铁烫过手的工程师不是好的模拟工程师--那么有没有相见恨晚的学习模电好方法? 刷题无数,不如名师指路 项目实践,也需操作指南 西安交通大学杨建国教 ...

  9. 元胞自动机:森林火灾模拟(Matlab:heatmap、colormap)

    目录 1.元胞自动机(Cellular Automation,CA) 2.森林火灾 3.伪代码 4.元胞自动机模拟森林火灾(Matlab实现) (1)定义森林火灾函数 ①空位生长树木 (0 --> ...

最新文章

  1. 一次Dubbo拥堵的分析
  2. 运用单例模式、建造者模式和策略模式实现异步加载Android联系人资料
  3. “该文件包含不能在当前代码页(936)中表示的字符,请将该文件保存为 Unicode 格式以防止数据丢失”
  4. 为 raspberrypi 开发内核模块
  5. Linux 设备模型之 (kobject、kset 和 Subsystem)(二)
  6. 【计算机网络】OSI参考模型与TCP/IP分层模型详解(超级详细,三张图完整说明)
  7. Java equals()和hashCode()
  8. 使用ConcurrentLinkedQueue惨痛的教训
  9. 斯坦福22岁辍学少年的独角兽野心:准备颠覆硅基无人车激光雷达
  10. dnn305的一个bug
  11. android mac 调试,Mac下使用Android studio真机调试
  12. jQuery文档处理程序
  13. cmder添加到系统变量中_Cmder配置
  14. 模版之家全站静态模板免费下载
  15. 学生用计算机方着怎么计,科学计算器使用
  16. 求学信计算机专业英语,求学信模板英文
  17. 怎么把ppt文字大小设置一致_学会这个方法,轻松制作海报级别的霓虹灯PPT!
  18. 图像处理基础操作三(图像直方图、傅里叶变换)
  19. npm/yarn 安装和命令
  20. 学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD

热门文章

  1. 两线怎么接三线插座图_水温传感器怎么判断好坏
  2. 简单安装和yum安装的区别
  3. RabbitMQ消息手动应答生产者
  4. ZkServer服务启动的逻辑-NIOServerCnxnFactory.start
  5. TransactionAwareDataSourceProxy
  6. serialVersionUIDtransient
  7. SpringBoot 上传限制
  8. 第四单元用计算机写作,计算机复习题
  9. java 带点的字符串处理,关于android:java中字符串上带点的分割函数
  10. java file 下载文件_java下载文件的几种方式