news 2026/7/10 12:30:03

游游的字母翻倍【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
游游的字母翻倍【牛客tracker 每日一题】

游游的字母翻倍

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

游游拿到了一个长度为n nn的字符串,她每次操作会选择一个区间[ l , r ] [l,r][l,r],将第l ll个字母到第r rr个字母各重复一次,插入到该字母的后面。

例如,对于字符串"a b c d abcdabcd“,若选择区间[ 2 , 3 ] [2,3][2,3]进行操作,字符串将变成”a b b c c d abbccdabbccd"

游游将进行q qq次操作。她想知道,q qq次操作结束后,最终的字符串是什么样子?

输入描述:

第一行输入两个正整数n nnq qq,分别代表字符串长度和操作次数。
第二行输入一个仅由小写英文字母组成的字符串,代表初始的字符串。
接下来的q qq行,每行输入两个正整数l , r l,rl,r,代表操作的区间。
1 ≤ n ≤ 1000 1≤n≤10001n1000
1 ≤ q ≤ 10 1≤q≤101q10
1 ≤ l ≤ r ≤ 1 0 6 1≤l≤r≤10^61lr106
保证每次操作时,r rr不大于当前的字符串长度。

输出描述:

一个字符串,代表所有操作结束后形成的字符串。

示例1

输入:

6 2 abcdef 2 4 3 6

输出:

abbbccccdddef

说明:

第一次操作后,字符串变成a b b c c d d e f abbccddefabbccddef
第二次操作后,字符串变成a b b b c c c c d d d e f abbbccccdddefabbbccccdddef

解题思路

首先读取初始字符串的长度n nn、操作次数q qq及初始字符串,对于每次操作的区间[ l , r ] [l,r][l,r],先转换为0 − b a s e d 0-based0based的起始位置k s = l − 1 ks=l-1ks=l1和结束位置e n d = r − 1 end=r-1end=r1,计算区间长度l e n lenlen,随后从区间末尾向前遍历每个位置(逆序遍历可避免正向插入时字符位置偏移导致的遍历错误),在每个位置p o s pospos的下一个位置插入与p o s pospos处相同的字符;由于n ≤ 1000 n≤1000n1000q ≤ 10 q≤10q10,即使多次插入操作使字符串长度增长,该直接模拟的方式时间复杂度仍在可控范围内,能精准还原每次区间字符翻倍的操作效果,最终输出所有操作完成后的字符串,高效且准确地解决问题。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=1e5+10;intmain(){ll n,q;cin>>n>>q;string s;cin>>s;while(q--){ll l,r;cin>>l>>r;ll ks=l-1,end=r-1;ll len=end-ks+1;for(ll i=len-1;i>=0;i--){ll pos=ks+i;charc=s[pos];s.insert(pos+1,1,c);}}cout<<s<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 3:34:47

网易云音乐NCM转MP3完整指南:简单三步搞定音频转换

网易云音乐NCM转MP3完整指南&#xff1a;简单三步搞定音频转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;NCM转MP3的音频格式转换其实很简单&#…

作者头像 李华
网站建设 2026/7/9 14:30:08

力扣(LeetCode) 28: 找出字符串中第一个匹配项的下标 - 解法思

问题概述 给定两个字符串 needle 和 haystack,返回 needle 在 haystack 中第一次出现的下标,如果 needle 不是 haystack 的一部分则返回 -1。 解法 1:暴力匹配带切片(推荐) 工作原理 通过比较子字符串检查 haystack 中每个可能的起始位置: class Solution:def strSt…

作者头像 李华
网站建设 2026/7/10 11:09:16

【开题答辩全过程】以 基于JSP的物流信息网的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/7/10 11:06:37

Unity游戏翻译革命:XUnity.AutoTranslator深度解析与实战指南

Unity游戏翻译革命&#xff1a;XUnity.AutoTranslator深度解析与实战指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 引言&#xff1a;打破语言壁垒的技术革新 你是否曾因语言障碍而放弃心仪的游戏&…

作者头像 李华