传送门
这道题一看到串串题,并且是老重复的,想到kmpkmpkmp
但是光kmpkmpkmp显然不太好做emmmmmemmmmmemmmmm
可以想到最后的答案一定是原串的一个BorderBorderBorder
怎么办呢,考虑dpdpdp
fif_ifi​表示把前iii个字符印完之后的印章长度最长是多少
那么我们可以得到一个转移:
fi=fnextif_i=f_{next_i}fi​=fnexti​​
前提是上一个nextj=nextinext_j=next_inextj​=nexti​的jjj要满足j+fnexti≥ij+f_{next_i}\geq ij+fnexti​​≥i
否则就不能转移过来,fi=if_i=ifi​=i
然后前面那个东西随便那个桶存一下就好了

#include <bits/stdc++.h>
using namespace std;# define Rep(i,a,b) for(int i=a;i<=b;i++)
# define _Rep(i,a,b) for(int i=a;i>=b;i--)
# define RepG(i,u) for(int i=head[u];~i;i=e[i].next)typedef long long ll;const int N=5e5+5;template<typename T> void read(T &x){x=0;int f=1;char c=getchar();for(;!isdigit(c);c=getchar())if(c=='-')f=-1;for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+c-'0';x*=f;
}int ls;
char s[N];
int nxt[N],f[N],lst[N];int main()
{scanf("%s",s+1);ls=strlen(s+1);nxt[1]=0;for(int i=2,j=0;i<=ls;i++){while(s[j+1]!=s[i]&&j)j=nxt[j];if(s[j+1]==s[i])j++;nxt[i]=j;}Rep(i,1,ls){if(lst[f[nxt[i]]]<i-f[nxt[i]])f[i]=i;else f[i]=f[nxt[i]];lst[f[i]]=i;}// Rep(i,1,ls)printf("%d ",nxt[i]);// puts("");printf("%d\n",f[ls]);return 0;
}

[POI2005] SZA-Template相关推荐

  1. 微信小程序模板template

    上面是官方的讲解, 主要是方便在不同的地方调用. 下面自己说下使用, 先创建一个模板名字是自己随便取的, 在template.wxml中填写模板 最外层用template标签 设置一个name属性 & ...

  2. C++中模板template typename T

    template <typename Dtype>. 网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板. 比如我们要计算两个数的加法,针对不同类型可能需要设计不同类型的函数,那么tem ...

  3. 让你爽到飞起的【懒人插件AutoScssStruct4Vue】VSCode根据template的标签目录一键生成SCSS/LESS结构,敏捷开发必备插件!!!

    Ctrl+Shift+X 搜索AutoScssStruct4Vue   如上图直接右键-autoScssStruct(你都不需要聚焦到template节点) 直接就给你妥妥的把SCSS代码写好了,如果 ...

  4. ue4商城资源 Car Configurator Template 汽车配置器模板

    ue4商城资源 Car Configurator Template 汽车配置器模板 ue4商城资源 Car Configurator Template 汽车配置器模板 Unreal Engine虚幻游 ...

  5. C++ template

    (转自http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html) C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或 ...

  6. 使用Repeater的Template

    .NET FX提供了一个方法,就是使用Template来在程序运行时对Repeater的显示进行控制. 这里我就不多说了,可以去看MSDN中的相关资料.(嘿嘿,其实我也没搞多少 ).. 其实主要是pr ...

  7. 设计模式之模板方法模式(Template Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  8. 微信小程序模块化开发 include与模板开发 template

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 1. include  是引用整个wxml文件,我通常会配合js,css一起使用: 使用场景,需要封装 ...

  9. template.process(root, out)的用法(shiro项目中来的九)

    假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...

  10. Smart template的控件能否当成普通控件来用

    我的同事问过我这个问题: 只要弄清楚Smart control的原理,就能回答这个问题. 答案是: smart control可以像普通的控件一样在xml view中被定义和使用,但是必须结合ODat ...

最新文章

  1. 普华永道2030汽车产业报告 私家车真正Out了!
  2. WordPress简约响应式自媒体资讯博客主题Qui-Pure v5.25
  3. canvas实现抽奖插件—大转盘和九宫格
  4. VoLTE技术中的会话持续性-SRVCC
  5. latex 设置pdf的页边距
  6. 10无法更新系统_2020年4月公积金网上系统更新后无法登陆故障解决办法
  7. MySQL之可视化软件
  8. FPGA SPI协议
  9. sigmoid/softmax指数运算溢出问题的解决方法
  10. 计算机二级考试真题李阳答案,英语二级笔译_二级笔译培训_二级笔译真题 - 沪江英语...
  11. ruby语言+Devkit 工具
  12. 【DFS 水洼数目】
  13. 记录:阿里云滑动验证
  14. 2021年安徽省大数据与人工智能应用竞赛人工智能(网络赛)-本科组赛题
  15. IntelliJ IDEA for Mac 2018.1.2 智能Java IDE开发工具 破解版下载
  16. 自动化收取蚂蚁森林能量(无须连接电脑)
  17. 用python写了个全国疫情中高风险地区查询
  18. 算法四:跳楼梯问题2
  19. 解决 clean-webpack-plugin www has been removed 问题
  20. python+opencv图片分割字符

热门文章

  1. 单片机c语言100例 的案例,51单片机C语言100个实例 [推荐下载】
  2. 科大讯飞AI营销大赛 CTR预估总结
  3. jsp+sql的学生选课系统过程
  4. 《敦泰IC之FT6336的TP代码跟读笔记》
  5. recyclerview滚动到指定条目
  6. MASM汇编入门:寄存器数据的使用
  7. 设备管理 android问号,设备管理查有问号怎么修理
  8. iOS上传图片方向不对处理
  9. 根据脸部毛孔生长方向去护肤
  10. vscode输出不滚动_解决 使用VSCode环境进行开发,突然出现卡顿、打字显示缓慢,滚动、选择迟缓等问题...