题解:反向用next数组求循环节(前i个字符的)即可。

题目:https://vjudge.net/problem/HDU-6740

#include<bits/stdc++.h>
#define ll long long
const int maxn=1e7+5;
char q[maxn];
char w[maxn];
int nex[maxn];
using namespace std;
void kmp()
{int len=strlen(w);int i=0,j=-1;nex[0]=-1;while(i<len){if(j==-1||w[i]==w[j]){i++;j++;nex[i]=j;}else j=nex[j];}
}
int main()
{int a,b;while(~scanf("%d%d\n",&a,&b)){memset(nex,0,sizeof(nex));scanf("%s",q);int len=strlen(q);int cnt=0;for(int i=len-1; i>=0; i--)  ///反向{if(q[i]=='.')break;w[cnt++]=q[i];}kmp();ll ans=-0x3f3f3f3f;for(int i=1; i<=cnt; i++){ll t=1ll*a*i-1ll*b*(i-nex[i]); ///i-nex【i】:找规律。ans=max(ans,t);}printf("%lld\n",ans);}}

hdu6740 MUV LUV EXTRA KMP算法相关推荐

  1. J. MUV LUV EXTRA (KMP求最小循环节)

    原题链接 枚举后缀,KMP求每种后缀的最小循环节,更新最优解. #include <bits/stdc++.h> #define int long long using namespace ...

  2. 2019 CCPC 秦皇岛 MUV LUV EXTRA kmp

    传送门 枚举循环节已出现的长度 p,最优的循环节就是最后 p 个字 符构成的字符串的最短周期. 考虑把字符串倒过来,使用 kmp 可以求出每个前缀的最短 周期,即求出了原串每个后缀的最短周期. #in ...

  3. Problem A. MUV LUV EXTRA(kmp求最小循环节)

    LINK 最小化 a ∗ p − b ∗ l a*p-b*l a∗p−b∗l 其中 p p p表示循环节总长, l l l表示循环节长度 若循环节从 i i i位置开始,那么一定需要延续到末尾 考虑固 ...

  4. hdu6740 MUV LUV EXTRA

    http://acm.hdu.edu.cn/showproblem.php?pid=6740 kmp水题,由于是a*已出现长度-b*循环节长度,所以说循环节越小越好,那么联想到kmp求nxt数组的时候 ...

  5. MUV LUV EXTRA(Kmp找最小循环节)

    MUV LUV EXTRA [Link](Problem - J - Codeforces) 题意 给你a和b和一个小数,让你找 a × 循 环 节 出 现 到 结 尾 的 长 度 + b × 循 环 ...

  6. 2019CCPC秦皇岛赛区 hdu 6740 MUV LUV EXTRA(KMP next数组)

    传送门 MUV LUV EXTRA Time Limit: 2000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Othe ...

  7. 2019 CCPC 秦皇岛: MUV LUV EXTRA

    MUV LUV EXTRA (本篇主要内容,kmp求最短循环节) 题目传送门: MUV LUV EXTRA 题意: 给你一个字符串和两个整数a和b.在小数点后,找到一个循环节 l,循环长度为p.求 a ...

  8. J - MUV LUV EXTRA

    J - MUV LUV EXTRA 思路: k m p kmp kmp. 求小数点后面的翻转字符串的循环节和循环长度. 注意循环节长度为1时,答案是 a − b a-b a−b. 时间复杂度: O ( ...

  9. HDU-6740-J. MUV LUV EXTRA

    HDU-6740-J. MUV LUV EXTRA 题目 MUV LUV EXTRA Time Limit: 2000/1500 MS (Java/Others) Memory Limit: 2621 ...

最新文章

  1. 分公司访问列表(ACL)
  2. 四级计算机网络考试大纲,2017年全国计算机等级考试四级计算机网络考试大纲...
  3. JavaScript substr() 方法
  4. .netcore项目docker化,以及docker之间通信
  5. vue仿饿了么点餐手机端
  6. lower版购物车模拟
  7. CoinList将销售价值4000万美元的社交代币RLY
  8. 通过分析系统日志,统计你的电脑开机时间的小程序PC PowerOn Time,附源码
  9. Autofs实现文件系统的自动mount
  10. 马化腾:如果今天我才创业 会做什么切入中国互联网
  11. 苹方字体 for linux,使用macOS苹方替换Windows 10微软雅黑
  12. 网络抓取ts文件转mp4_TS格式的视频文件怎么转换成mp4文件。
  13. October cms(数据库-Mutators)
  14. 微信小程序实现保存影集和图片到相册
  15. Git+Vscode+ToroiseGit+码云
  16. 31:几何算法--点集的凸包
  17. 线程实用解析--------(六)Control.Invoke()和Control.BeginInvoke()
  18. mysql relay log是什么意思_MySQL--binlog和relay log的生成和删除
  19. 单词 ---- part3
  20. matlab中som结果,som 运行结果怎么看啊

热门文章

  1. 算法 - 并行排序算法之双调排序(Bitonic_Sort)
  2. 2018.3.20 一周第二次课
  3. 亚马逊更新全球禁限售的商品合规政策-跨境创业找众光
  4. java电子小词典课程设计_Java英汉电子字典课程设计源代码.doc
  5. 显示器可以远程管理Linux吗,Ubuntu 无显示器情况下的远程控制
  6. java GB28181 大华 海康摄像机国标对接源码源代码程序
  7. css 一条线加阴影,CSS3实现曲线阴影和翘边阴影
  8. 公司间交易STO方式
  9. 1.试述大数据对思维方式的重要影响。
  10. Mac外接显示器时打开扩展桌面模式和视频镜像模式的方法步骤