P11276 第一首歌 题解

news/2024/11/15 15:21:40/文章来源:https://www.cnblogs.com/adsd45666/p/18548030

P11276 第一首歌 题解

一道简单的字符串题目。

题目解释

说求一个最短的字符串 \(t\) ,使其满足对于给定的字符串 \(s\)

  • \(s\)\(t\) 的前缀。

  • \(s\)\(t\) 的后缀。

  • \(s\) 不为 \(t\)

仔细思考一下,则易得 \(t\) 的最短长度的最大值为 \(s\) 的两倍。即当 \(s\) 是一个前缀后缀不相同的字符串时, \(t\) 就是两个拼在一起的 \(s\)

考虑非特殊情况,那么也就是删去第二个累加的 \(s\) 中,与其后缀相同的前缀。类似于共用这一部分。

解题思路

观察到要求相同的前缀和后缀,正好在学 KMP 于是这里使用了其前缀数组解决。那么问题便简化了,求出的 \(sum\) 为前缀与后缀的最大重合区间长度,接着输出 \(s\) 除前 \(sum\) 个字符的其他字符即可。

code

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10;
string s1;
int net[maxn];
void build_kmp(string s){net[0]=0,net[1]=0;int len=0,i=1;for(int i=1;i<s.size();i++){int j=net[i];while(j&&s[i]!=s[j]){j=net[j];}if(s[i]==s[j]) net[i+1]=j+1;else           net[i+1]=0;}
}
signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>s1;build_kmp(s1);cout<<s1;         //第一遍无需修改for(int i=net[(int)s1.size()];i<(int)s1.size();i++){cout<<s1[i];  //输出非重复部分}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834055.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4. Spring Cloud Ribbon 实现“负载均衡”的详细配置说明

4. Spring Cloud Ribbon 实现“负载均衡”的详细配置说明 @目录4. Spring Cloud Ribbon 实现“负载均衡”的详细配置说明前言1. Ribbon 介绍1.1 LB(Load Balance 负载均衡)2. Ribbon 原理2.2 Ribbon 机制3. Spring Cloud Ribbon 实现负载均衡算法-应用实例4. 总结:5. 最后:前…

WSL2的介绍和使用

WSL2的介绍和使用 一、什么是WSL2? WSL是Windows Subsystem for Linux的简称,它是微软为Win10和Win11引入的一项功能。WSL允许用户在Windows上运行Linux操作系统及其相关命令和应用程序,而无需使用虚拟机或安装双系统。 1.1 WSL2与WSL1、传统虚拟机比较WSL1:没有完整的Linu…

插件大总结

加注释插件搜索接口插件mybatis-plus插件

Windows系统日志报错:生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS协议所定义的严重错误代码是10。Windows SChannel错误状态是1203是怎么回事?

当我们检查Windows系统日志发现有一个报错:生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS协议所定义的严重错误代码是10。Windows SChannel错误状态是1203。导致报错的原因是什么?该如何处理?驰网飞飞和你分享当我们检查Windows系统日志发现有一个报错:…

Windows三种提权实验

以win7为例手动提权 上线 将一句话木马上传到win7当中,本地使用蚁剑进行链接。信息收集 systeminfo查询杀软信息 wmic process list briefWindows杀软在线查询无匹配杀软进程。 根据系统信息和杀软信息查询提权EXP Windows 提权辅助 | 在线安全工具以列出的微软编号MS17-017为…

量化训练及精度调优经验分享

本文提纲:fx 和 eager 两种量化训练方式介绍 量化训练的流程介绍:以 mmdet 的 yolov3 为例 常用的精度调优 debug 工具介绍 案例分析:模型精度调优经验分享第一部分:fx 和 eager 两种量化训练方式介绍 首先介绍一下量化训练的原理。上图为单个神经元的计算,计算形式是加权…

Tomcat Windows 服务 JVM 内存参数设置

Tomcat 在 Windows 平台上启动服务的方式是 Commons Daemon,JVM 的启动参数可以有多种设置方法。本文介绍 Commons Daemon 的大致组成和参数设置方法。 Commons Daemon 由两部分组成。 一是由 C 语言开发负责和操作系统交互的平台相关程序,在 Windows 上平台相关部分是 procr…

FileZilla的安装配置和使用教程

一、FileZilla简介 FileZilla是一款免费开源的FTP软件,有以下优点:非常易于使用,且跨平台(Linux、Windows、MacOs等) 支持FTP、FTPS、SFTP等多种文件传输协议 支持断点续传 支持建立多个标签(标签为一个FTP连接界面)同时工作 支持远程查找文件 自带功能强大的站点管理和…

云行 | 金陵古都焕发数智活力,天翼云为南京创新发展注入新动能!

10月29日,以“国云智算聚金陵 自主可控铸新基”为主题的天翼云中国行江苏南京站活动圆满举办。南京市数据局领导、中国电信江苏分公司领导、客户及合作伙伴代表莅临现场,共商转型发展新机遇,共创智慧江苏新未来。会上举行了天翼云全栈自主可控能力升级计划、南京城市算力调度…

10月回顾 | Apache SeaTunnel社区动态与进展一览

各位热爱 Apache SeaTunnel 的小伙伴们,社区10月份月报来啦,请查收! 这里将记录Apache SeaTunne社区每月动态和进展,欢迎关注。 月度Merge之星 感谢以下小伙伴上个月为 Apache SeaTunnel 所做的精彩贡献(排名不分先后):@Hisoka-X,@prclin,@JohnTeslaa,@happyboy1024,@ji…

微短剧出海新攻略:多语言翻译提效,窄带高清降本,合规之下畅享极致播放

短剧出海「 全能力解锁 」快速轻装,一站出海。 短剧出海作为近两年的蓝海赛道,发展潜力惊人,据机构报告数据显示,2023国内短剧市场规模达53亿美元,而海外短剧市场规模高达650亿美元,全球市场发展潜力巨大。 想要在规模激增的全球内容市场中稳健出海,技术可以提效降本,…

井底车场人员进入识别智慧矿山一体机罐笼乘坐人员超限识别重塑矿山作业模式,提升管理效能

在矿山行业,安全始终是最重要的议题之一。随着科技的进步,智能化设备的应用已经成为提升矿山安全管理水平的关键。智慧矿山一体机,作为新一代的智能化解决方案,正是在这样的背景下应运而生。它不仅是一款设备,更是一个全面整合的安全管理系统,旨在通过前沿的人工智能技术…