【字符串入门专题1】C

摘要:
Suchas”和“theretwostrings”的头substring(选择的字符只是从‘a’到‘z’)为您输出两个字符串前缀和后缀的最大公共长度:但asdfadf和df数据不能过多(代码也被我的合作伙伴生成的数据破坏了:这让我想起了被zzq数据支配的噩梦)#include&lt,stdio。h&gt,int next[N];

Problem Description
Generally speaking, there are a lot of problems about strings processing. Now you encounter another such problem. If you get two strings, such as “asdf” and “sdfg”, the result of the addition between them is “asdfg”, for “sdf” is the tail substring of “asdf” and the head substring of the “sdfg” . However, the result comes as “asdfghjk”, when you have to add “asdf” and “ghjk” and guarantee the shortest string first, then the minimum lexicographic second, the same rules for other additions.
 

Input
For each case, there are two strings (the chars selected just form ‘a’ to ‘z’) for you, and each length of theirs won’t exceed 10^5 and won’t be empty.
 

Output
Print the ultimate string by the book.
 

Sample Input
asdf sdfg asdf ghjk
 

Sample Output
asdfg asdfghjk

题意:先按照前后缀长度,再按照字典序,输出两个字符串前缀和后缀最大公共长度。

思路:因为模式串和匹配串并不是固定给出,所以要交换两个字符串的身份调用kmp两次,计算它们的最大前缀和后缀长度k1,k2,当k1和k2相同时,就比较它们的字典序,否则,按匹配过后的顺序输出。

更正:这道题真的很有道理,如果按照我注释掉的代码提交虽然能AC,但是asdfadf 和df数据是不能过滴(代码又被小伙伴出的数据给搞掉了,让我想起了被zzq数据支配的噩梦)

#include<stdio.h>
#include<string.h>
#define N 110000
char s1[N],s2[N];
int next[N];

void get_next(char *b)
{
	int j,k;
	next[0] = k = -1;
	j = 0;
	while(b[j]!='

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP常用的代码vijos1196|吃糖果游戏|博弈论下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

log4j的一些参数说明

参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介 假设当前logger名字空间是“a.b.c” %c a.b.c %c{2} b.c %20c (若名字空间长度小于20,则左边用空格填充) %-20c (若名字空...

python print %s 号格式化输出

python %号格式化输出: 一种字符串格式化的语法, 基本用法是将值插入到%s占位符的字符串中。 %s,表示格式化一个对象为字符             "%±(正负号表示)3(数字表示字符串的长度)s"%(取代s的字符串) %s  string型  表示格式化一个对象为字符    "%s1"%S2   s1放置的是一个字符串(格式化字符串)  S2...

利用mysql对特殊字符和超长字符会进行截断的特性 进行存储型XSS攻击——WordPress &amp;lt;4.1.2 &amp;amp; &amp;lt;=4.2 存储型xss

转自:Baidu Security Lab Xteam http://xteam.baidu.com/?p=177 漏洞概述 本次漏洞出现两个使用不同方式截断来实现的存储型xss,一种为特殊字符截断,一种为数据库字段长度截断,该漏洞导致攻击者可获取用户 cookie以及模拟浏览器正常操作,并且当管理员访问到注入的payload时,结合wordpress后台...

基于SpringBoot 、AOP与自定义注解转义字典值

  一直以来,前端展示字典一般以中文展示为主,若在表中存字典值中文,当字典表更改字典值对应的中文,会造成数据不一致,为此设置冗余字段并非最优方案,若由前端自己写死转义,不够灵活,若在业务代码转义,臃肿也不够通用,从网络上了解到注解、AOP是一种不错的解决方案,主要有两种方式:   1、通过注解获取结果集转为JSON字符串,通过正则查找附加字段;   2、通...

java中的数组

什么是数组呢?   数组是用来存储同一种数据类型多个元素的容器     数据类型:可以是基本类型,也可以是引用类型     容器:比如教室(有多个学生;多个桌子等),衣柜(放多个衣服)等,可以存放多个事物 数组的定义格式   数组的定义格式一:     数据类型[] 数组名= new 数据类型[长度] 例: //定义一个长度为3的整型数组 int[] ar...

sql语句修改字段长度

sql语句修改字段长度alter table <表名> alter column <字段名> 新类型名(长度)例: alter table students alter column PhotoEnterSchool nvarchar(500) alter table students alter column PhotoGrad...