序列自动机

简介: 序列自动机

这里母串赋值和算长度不要变,固定模板

int nt[100005][26];
char a[100005];
scanf("%s",a+1);
void init() {
  int len=strlen(a+1);
  for(int i=len; i>=1; i--) {
    for(int j=0; j<26; j++) {
      nt[i-1][j]=nt[i][j];
    }
    nt[i-1][a[i]-'a']=i;
  }
}

判断代码

char b[1005];
    scanf("%s",b);
    int len=strlen(b);
    int p=0,f=0;
    for(int i=0; i<len; i++) {
      p=nt[p][b[i]-'a'];
      if(p==0) {
        f=1;
        break;
      }
    }
    if(f) {
      cout<<"不是子序列"<<endl;
    } else {
      cout<<"是子序列"<<endl;
    }

例题

https://nanti.jisuanke.com/t/38232

#include<iostream>
#include<string.h>
using namespace std;
char a[100005];
int nt[100005][26];
void init() {
  int len=strlen(a+1);
  for(int i=len; i>=1; i--) {
    for(int j=0; j<26; j++) {
      nt[i-1][j]=nt[i][j];
    }
    nt[i-1][a[i]-'a']=i;
  }
}
int main() {
  scanf("%s",a+1);
  int t;
  scanf("%d",&t);
  init();
  while(t--) {
    char b[1005];
    scanf("%s",b);
    int len=strlen(b);
    int p=0,f=0;
    for(int i=0; i<len; i++) {
      p=nt[p][b[i]-'a'];
      if(p==0) {
        f=1;
        break;
      }
    }
    if(f) {
      cout<<"不是子序列"<<endl;
    } else {
      cout<<"是子序列"<<endl;
    }
  }
}
目录
相关文章
|
6月前
|
自然语言处理 算法
HanLP — HMM隐马尔可夫模型 - 路径规划算法 - 求解最短路径 - 维特比(Viterbi)算法
HanLP — HMM隐马尔可夫模型 - 路径规划算法 - 求解最短路径 - 维特比(Viterbi)算法
82 0
HanLP — HMM隐马尔可夫模型 - 路径规划算法 - 求解最短路径 - 维特比(Viterbi)算法
|
7月前
|
机器学习/深度学习 算法 计算机视觉
通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法
摘要: 使用MATLAB2022a对比了二进制编码与实数编码的遗传优化算法,关注最优适应度、平均适应度及运算效率。二进制编码适用于离散问题,解表示为二进制串;实数编码适用于连续问题,直接搜索连续空间。两种编码在初始化、适应度评估、选择、交叉和变异步骤类似,但实数编码可能需更复杂策略避免局部最优。选择编码方式取决于问题特性。
|
机器学习/深度学习 传感器 编解码
路径规划算法:基向量加权优化的机器人路径规划算法- 附matlab代码
路径规划算法:基向量加权优化的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 传感器 算法
【元胞自动机】基于元胞自动机模拟森林救火问题附matlab代码
【元胞自动机】基于元胞自动机模拟森林救火问题附matlab代码
|
机器学习/深度学习 传感器 并行计算
【元胞自动机】基于元胞自动机实现传染病传播模拟附matlab代码
【元胞自动机】基于元胞自动机实现传染病传播模拟附matlab代码
|
机器学习/深度学习 传感器 算法
【元胞自动机】基于元胞自动机模拟风速影响的森林火灾模型含Matlab代码
【元胞自动机】基于元胞自动机模拟风速影响的森林火灾模型含Matlab代码
|
机器学习/深度学习 传感器 算法
【元胞自动机】基于元胞自动机模拟气体交换碰撞附matlab代码
【元胞自动机】基于元胞自动机模拟气体交换碰撞附matlab代码
|
机器学习/深度学习 传感器 算法
基于非线性最小二乘法 (NLLS) 分析寻找给定伪距数据的无人机轨迹附matlab代码
基于非线性最小二乘法 (NLLS) 分析寻找给定伪距数据的无人机轨迹附matlab代码
|
机器学习/深度学习 传感器 算法
【路径规划】基于遗传算法求解单向交通流分配优化问题附matlab代码
【路径规划】基于遗传算法求解单向交通流分配优化问题附matlab代码
|
机器学习/深度学习 传感器 算法
三车道交通流元胞自动机研究附matlab代码
三车道交通流元胞自动机研究附matlab代码

热门文章

最新文章