如何优雅的写单词

Description

单词背多少了!?
心里还没有点数了!?

还有多长时间考试你知道吗!?
你说,单词背到第几章了!?

呜呜呜,别骂了别骂了,再骂人傻了

在深知单词的重要性之后,PushyTao下定决心要好好背单词。为了防止在考试的时候不会写,PushyTao还决定在背单词的时候还要写几遍,但是他太懒了,所以就“发明”出了一种新的方法:

比如说,对于一个长度为n的单词,PushyTao要写m遍。如果这个单词的后半部分和前面的一部分有相同,他就会省略掉相同的不写。比如说长度为3的一个单词aba,PushyTao要写4遍,那么就可以将单词写成ababababa,因为从s[1] ~ s[3],从s[3] ~ s[5],从s[5] ~ s[7],从s[7]~s[9]都是aba,所以这样PushyTao就非常“巧妙的”写完了4遍单词;但是也有让PushyTao很无语的单词,比如abc,就不得不写成abcabcabcabc

Input

第一行:一个整数n代表单词的长度,一个整数m,代表要写的次数(1<=n,m<=50)

第二行:一个长度为n的字符串

Output

输出一个字符串,代表PushyTao可以写的长度最短的一个字符串

Samples
Input 复制

3 4
aba

Output

ababababa

Input 复制

3 2
abc

Output

abcabc

这个题的原型是CF这个题

相关的题解可以看一下,我现在写一下这个题的题解

看一下数据范围可以看出来,这个题可以直接硬生生的进行模拟,可以便利字符串寻找长度最长的前缀和后缀,然后输出就可以。
说到这里,聪明的小伙伴已经发现了,在KMP中next数组不就可以用在最长的公共前后缀嘛
所以说这个题直接可以先输出一个原先的字符串,然后对于剩下的m-1次直接输出从next[n] ~ n-1的每一个字符串就好了嘛(下标从0开始)

优雅的KMP_Code():

char p[107];
int n,k;
int nex[107];
void _get_next(){nex[0] = 0;nex[1] = 0;for(int j=1;j<n;j++){int k = nex[j];while(k && p[j] != p[k]) k = nex[k];if(p[j] == p[k]) nex[j+1] = k+1;else nex[j+1] = 0;}
}
int main() {cin >> n >> k;cin >> p;_get_next();cout<<p;k--;while(k --){for(int i=nex[n];i<n;i++) printf("%c",p[i]);}return 0;
}

如何优雅的写单词_lduoj_kmp相关推荐

  1. js中如何优雅的写if判断

    我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃 ...

  2. 如何优雅的写一篇安利文-以Sugar ORM为例

    前言 我最近喜欢把写的十分优美的技术文章叫做安利文.首先,文章必须是原创而非软广:其次,阅读之后不仅能快速吸纳技术要点并入门开发,还能感同身受的体会作者热情洋溢的赞美和急于分享心得体验的心情,让人感觉 ...

  3. Easydict 简洁易用的翻译词典,带你轻松优雅地查找单词或翻译文本。

    Easydict Easydict 是一个简洁易用的翻译词典 macOS App,能够轻松优雅地查找单词或翻译文本.Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR ...

  4. 运筹学修炼日记:如何优雅地写出大规模线性规划的对偶

    运筹学修炼日记:如何优雅地写出大规模线性规划的对偶问题 运筹学修炼日记:如何优雅地写出大规模线性规划的对偶 最短路问题 多商品流问题`Multicommodity Network Flow Probl ...

  5. python要在哪里写代码-如何更优雅地写python代码

    前言 Python 这门语言最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净.整洁.一目了然.但有时候我们写代码,特别是 Python 初学者,往往还是按照其它语言的思维习惯来写,那样的写法不 ...

  6. word 代码块_如何优雅的写好 Pythonic 代码?

    (点击上方公众号,可快速关注一起学Python) Python 与其它语言(比如Java或者C++)相比有比较大的区别,其中最大的特点就是非常简洁.如果按照其它语言的思路来写Python代码,则会使得 ...

  7. 程序员如何优雅地写公众号

    前天发的,有读者好奇公众号是怎么排版的,我回复超过20个点赞就专门写一篇文章介绍公众号排版,没想到几分钟就超了,于是连夜赶出了这篇文章,要是你们点广告有这积极性,熬夜的咖啡就有着落了. 写公众号最痛苦 ...

  8. 如何优雅的写 Controller 层代码?找对姿势!

    前言 本篇主要要介绍的就是controller层的处理,一个完整的后端请求由4部分组成:1. 接口地址(也就是URL地址)2. 请求方式(一般就是get.set,当然还有put.delete)3. 请 ...

  9. Springboot中如何优雅的写好Controller层代码

    前言 优雅?看到这个词,我第一反应是什么是优雅?怎么写才算优雅?一千个读者有一千个哈姆雷特,每个人的经验.阅历不同,也许理解就不同.我对优雅的理解很简单,就是简洁有效.容易理解,别那么多套路.java ...

最新文章

  1. 进入方法内快捷键_24个提升效率的Sketch快捷键
  2. 安装和使用VCLSkin美肤插件
  3. JSR 365更新:深入CDI 2.0
  4. 网络、通信术语及概念
  5. 两个三维向量叉积_线性代数的本质08 叉积
  6. echarts 生成 迁徙图_Echarts地图的迁徙图
  7. 企业版微信公众号从零开始之二(申请认证流程)
  8. 我所理解的Remoting(3):创建CAO Service Factory使接口和实现相互分离
  9. DC-DC升压IC测试及EN脚讲解
  10. GAN原理及简单mnist生成图片
  11. selenium 程序执行完之后,闪退的解决方法
  12. nvidia显卡驱动卸载和卸载后的问题
  13. 经济放缓 全球角色逆转
  14. 无穷无穷小的逻辑相容性小的逻辑相容性
  15. 第一学历和最高学历哪个更重要?
  16. 关于Celeba人脸数据集的介绍
  17. arch linux笔记本安装kde桌面环境
  18. [1150]Linux服务器上使用rz命令上传文件报:Segmentation Fault
  19. java语言可以编程无人机么_java可以作为第一门编程语言学习吗
  20. 身边策神 振江 刘盛义等等

热门文章

  1. Matlab数字图像处理 02 灰度变化(图像直方图、直方图均衡化、直方图匹配)
  2. TracePro | 建立光源
  3. 淘宝网简易实现, Html + css + Javascript + Jquery +Swiper +Vue, 期末js大作业
  4. codeblock 问题集锦
  5. 使用Gson解析Json为Map对象探索(上)
  6. 带时间窗的车辆路径问题的多目标模因算法
  7. 同时安装 ensp HCL
  8. BeautifulSoup爬取虎扑步行街信息到Mysql
  9. python爬虫爬取虎扑步行街爆照区图片
  10. python硬件库网址_python dev安装包 Python安装第三方库 - 硬件设备 - 服务器之家