杭电ACM-LCY算法进阶培训班-专题训练09

1014 剪花布条

#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
#define inf 0x7fffffff
#define ll long long
#define int long long
//#define double long double
//#define double long long
#define re register int
//#define void inline void
#define eps 1e-8
//#define mod 1e9+7
#define ls(p) p<<1
#define rs(p) p<<1|1
#define pi acos(-1.0)
#define pb push_back
#define mk make_pair
#define P pair < int , int >
using namespace std;
const int mod=1e9+7;
const int M=1e8;
const int N=1e6+5;//??????.???? 4e8
int n,m;
char a[N],b[N];
int nxt[N],f[N];
void init()
{nxt[1]=0;for(re i=2,j=0;i<=n;i++){while(j>0&&a[i]!=a[j+1])  j=nxt[j];if(a[i]==a[j+1])  j++;nxt[i]=j;}
}
int kmp()
{int cnt=0;for(re i=1;i<=n;i++)  f[i]=0;for(re i=1,j=0;i<=m;i++){while(j>0&&(j==n||b[i]!=a[j+1]))  j=nxt[j];if(b[i]==a[j+1])  j++;f[i]=j;if(f[i]==n)  cnt++,j=0;}return cnt;
}
void solve()
{while(scanf("%s",b+1)!=EOF){if(b[1]=='#')  break;scanf("%s",a+1);m=strlen(b+1);n=strlen(a+1);init();cout<<kmp()<<endl;}
}
signed main()
{int T=1;
//    cin>>T;for(int index=1;index<=T;index++){solve();
//        puts("");}return 0;
}
/*

1015 Simpsons’ Hidden Talents

#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
#define inf 0x7fffffff
#define ll long long
#define int long long
//#define double long double
//#define double long long
#define re register int
//#define void inline void
#define eps 1e-8
//#define mod 1e9+7
#define ls(p) p<<1
#define rs(p) p<<1|1
#define pi acos(-1.0)
#define pb push_back
#define mk make_pair
#define P pair < int , int >
using namespace std;
const int mod=1e9+7;
const int M=1e8;
const int N=1e6+5;//??????.???? 4e8
int nxt[N];
void init(char s[])
{nxt[0]=-1;int i=0,j=-1;int n=strlen(s);while(i<n){if(j==-1||s[i]==s[j])  j++,i++,nxt[i]=j;else  j=nxt[j];}
}
void solve()
{char s1[N],s2[N];while(scanf("%s%s",s1,s2)!=EOF){int n=strlen(s1);int m=strlen(s2);s1[n]='(';for(re i=0;i<m;i++)  s1[i+n+1]=s2[i];n+=m+1;s1[n]='\0';init(s1);if(nxt[n])  {for(re i=0;i<nxt[n];i++)  printf("%c",s1[i]);printf(" ");}printf("%lld\n",nxt[n]);}
}
signed main()
{int T=1;
//    cin>>T;for(int index=1;index<=T;index++){solve();
//        puts("");}return 0;
}
/**/

杭电ACM-LCY算法进阶培训班-专题训练09相关推荐

  1. 杭电ACM-LCY算法进阶培训班-专题训练15

    杭电ACM-LCY算法进阶培训班-专题训练(03-07-11-15) 1012 最短路 #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofa ...

  2. 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)

    杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 传送门 杭电ACM-LCY算法进阶培训班-专题训练(矩阵快速幂)[模板] 矩阵快速幂模板 Count Problem Descript ...

  3. 杭电ACM-LCY算法进阶培训班-专题训练(计算几何入门)

    杭电ACM-LCY算法进阶培训班-专题训练(计算几何入门) 传送门 杭电ACM-LCY算法进阶培训班-专题训练(计算几何入门) Shape of HDU Problem Description Inp ...

  4. 杭电ACM-LCY算法进阶培训班-专题训练(KMP)

    杭电ACM-LCY算法进阶培训班-专题训练(KMP) 杭电ACM-LCY算法进阶培训班-专题训练(KMP) 剪花布条 Problem Description Input Output Sample I ...

  5. 2021-06-18杭电ACM-LCY算法进阶培训班-专题训练16

    杭电ACM-LCY算法进阶培训班-专题训练(04-08-12-16) 1009 Intervals #pragma GCC optimize(2) #pragma GCC optimize(3,&qu ...

  6. 杭电ACM-LCY算法进阶培训班-专题训练(线段树)

    杭电ACM-LCY算法进阶培训班-专题训练(线段树) 传送门 目录 杭电ACM-LCY算法进阶培训班-专题训练(线段树) 张煊的金箍棒(2) Problem Description Input Out ...

  7. 杭电ACM-LCY算法进阶培训班-专题训练(强连通分量)

    点对统计 最大点权 点对统计 Problem Description 给定一个有向图,统计有多少点对u,v(1≤u<v≤n)u,v(1≤u<v≤n)u,v(1≤u<v≤n)满足uuu ...

  8. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  9. 杭电ACM刷题(1):1002,A + B Problem II

    最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...

最新文章

  1. 解决:VS 2005/2008 中 fstream 不能处理带有中文路径的问题
  2. docker~Dockerfile优化程序的部署
  3. 为什么叫python编程-中小学生为什么要学Python编程
  4. ControllerBrokerRequestBatch分析
  5. 管理端口_内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门
  6. 为一路通(16tone)开博
  7. Qt Designer设计 UI 文件并调用
  8. 系统架构设计师与系统分析师历年实体分析与解答下载_架构设计的本质
  9. 自由软件、开源软件、免费软件、共享软件和商业软件
  10. 简单线性回归的应用及画图(一)
  11. Android通过修改配置文件设置wifi密码
  12. C# winform 自定义控件配置代码 多显示 换行
  13. windows nginx出现 was not signaled for 5s的看过来
  14. 使用 yarn 安装时,报错node_modules\node sass:Command failed.
  15. linux线程篇,linux线程篇 (二) 线程的基本操作
  16. poi读取excel表
  17. 1.python自动化登录12306
  18. android代码zip怎么用,Android平台实现Zip文件解压缩
  19. 微信小程序----模板(template)
  20. matlab的qammod函数_利用matlab实现16QAM调制

热门文章

  1. k-medoid(k中心点)聚类算法Python实现
  2. 终于有一篇文章把饭金展开说明白了。
  3. php中或者符号,php中的或运算符号
  4. Swift实战-豆瓣电台(四)歌曲列表的展现
  5. 【Designing ML Systems】第 11 章 :机器学习的人性方面
  6. 在c语言程序设计中函数有两种类型 和,在C语言程序设计中函数有两种类型:__________和__________...
  7. 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度
  8. 蓝桥杯真题 15省2-星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则
  9. 单片机设计一个十字路口交通灯模拟控制系统(51单片机实训)
  10. 2021哈工大计算机系统大作业——程序人生-Hello’s P2P