当前位置: 首页 > news >正文

S002 字符串构造 最长相等真前后缀 CF1029A

CF1029A - CodeForces

题意:给定一个字符串 \(t\) 构造最小的一个字符串 \(s\) ,要求字符串 \(s\) 恰好有 \(k\) 个子串等于 \(t\)

第一眼想到的是周期。但是有的情况有重叠不能直接将 \(t\) 复制 \(k\) 份。这就不是最小了,那么如何求最小呢?

这个重叠的话与前后缀有关。如果一个字符串的前缀等于后缀,大小为 \(L\) 的话,那么这 \(L\) 部分重叠了,可以重复利用,我们只需要在后面接上 \(t[L:]\) 即可,因为前面的后缀可以当当前的前缀使用。这就是重叠。

因为要最小,所以这个问题就转化为求最长相等真前后缀\(L\)\(n-L\) 就小,求出 \(L\) 后只需要在原串上后面加上 \((k-1)\)\(t[L:]\)

因为数据很小可以直接 \(O(n^2)\) ,也可以使用前缀函数求出 \(\pi\) 数组, \(\pi\) 数组的 \(\pi[n-1]\) 就是最长的 Border 。

具体代码为

import sysMax = lambda x, y: x if x > y else y
Min = lambda x, y: x if x < y else yinput_type = 1if input_type:inp = lambda: sys.stdin.readline().strip()II = lambda: int(inp())MII = lambda: map(int, inp().split())LII = lambda: list(MII())else:input_data = sys.stdin.read().split()it = iter(input_data)II = lambda: int(next(it))SI = lambda: next(it)if not input_data:sys.exit()def border(s):n = len(s)L = 0for i in range(1, n):if s[:i] == s[n-i:n]:L = ireturn Ldef main():n, k = MII()s = inp()pi = [0] * nfor i in range(1, n):j = pi[i - 1]while j > 0 and s[i] != s[j]:j = pi[j - 1]if s[i] == s[j]:j += 1pi[i] = jL = pi[n - 1]print(s + (k - 1) * (s[L:]))if __name__ == "__main__":main()
http://www.jsqmd.com/news/434374/

相关文章:

  • 分析BROOK电机定制厂家怎么选,哪家性价比高值得推荐? - 工业设备
  • 2026年靠谱的住家保姆品牌企业推荐,北京吉至嘉家政实力入围 - 工业品网
  • 2026年分析全国面粉机成套设备加工厂哪家专业,性价比高的有几家? - 工业品牌热点
  • 2026年3月椰丝毯护坡厂家推荐,边坡工程专用材料厂家 - 品牌鉴赏师
  • 『NAS』把狼人杀搬进NAS,和AI玩一场尔虞我诈的游戏-Wolfcha
  • 2026年全国面粉机成套设备定制厂家费用怎么收,双狮粮油机械性价比高 - 工业推荐榜
  • 食品风味升级之选:国内咸味香精品牌浅析,预制菜调味料/餐饮配料/肉宝王/复合调味料/火锅底料,咸味香精品牌推荐排行 - 品牌推荐师
  • 2026年面粉机成套设备来样定制厂家推荐,双狮粮油机械靠谱吗 - myqiye
  • Python中in与not in
  • 4岁英语启蒙周计划表
  • 【问】假设你是向量数据库,模拟把“小狗”、“汪星人”放入向量数据库过程,并且展示查询过程,让我参观
  • 2026年分析全国面粉机成套机械设备厂家,哪个品牌口碑好 - mypinpai
  • 有品牌优势的面粉机成套设备制造厂价格大概多少钱? - 工业设备
  • “鸡蛋不能放一个篮子里”,如何确保千亿数据万无一失?
  • 盘点2026年优质面粉机成套设备厂家,性价比高的企业有哪些 - 工业品网
  • Splunk Enterprise 10.2.1 发布重要更新,原生支持 Apple Silicon
  • Hutool被卖半年多了,现状是逆袭还是沉寂?
  • 基于ESP32的嵌入式多功能调试器设计(开题报告)
  • [路由器] 红米AX ImmortalWrt .升级到..,配置npc
  • 2026年3月pp中空板厂家推荐,食品级环保板材实力厂家 - 品牌鉴赏师
  • 独立做项目,拿得起放得下
  • 全家健身更省心|全家可用的家庭健身器材,上海皓衍精选,适配全年龄段 - 冠顶工业设备
  • 探寻2026年华世星空在市场上的口碑排名,服务质量情况 - 工业设备
  • 聊聊PET透明板选购,普世建材这类靠谱厂家产品性价比如何? - 工业品牌热点
  • 2026年合肥教育咨询品牌排名,华世星空企业规模大吗靠不靠谱技术实力待考量 - 工业品网
  • 如何通过DeepSeek推广获客?哪家公司可以做DeepSeek推广? - 品牌2026
  • 基于STM32的ATT7022E电能计量芯片完整程序实现
  • 有广告公司可以做DeepSeek的AI广告吗?怎么联系? - 品牌2026
  • 不止于JWT:用FastAPI的Depends实现细粒度权限控制
  • 2026年合肥有名的培训就业公司推荐 选哪家更让人放心 - myqiye