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

CSP2025 T3 replace

设字符串下标从 \(1\) 开始。

询问特判掉 \(t_0,t_1\) 长度不同的情况。

\(s,t\) 两端重合的都缩掉,设 \(l_s\) 是最小的 \(i\) 使得 \(s_{0,i} \neq s_{1,i}\)\(r_s\) 是最大的,\(l_t,r_t\) 同理。

那么首先 \(s\) 能替换 \(t\) 的必要条件是 \(r_s - l_s = r_t - l_t\)

另一个必要条件是 \(t_0[1 \dots r_t]\)\(s_0[1 \dots r_s]\) 的后缀,\(t_1[l_t \dots len_t]\)\(s_1[l_s\dots len_s]\) 的前缀。和上一个条件合起来就充要了。

上面说到的串都是确定的,和询问是什么没有关系。问题就转化成问有多少 \((s_0,s_1)\) 满足 \(s_0,s_1\) 分别是 \(t_0,t_1\) 的前缀。把所有 \(s\) 拿出来,按照 \(r_s - l_s\) 的长度分类之后对每个长度建一个 \(\text{trie}\),把树拍到 \(dfn\) 序上之后就是询问一个点被几个矩形覆盖,直接扫描线就行。

时间复杂度 \(O(L + n\log n)\),空间复杂度 \(O(L \left|\Sigma\right|)\)

为什么我写题解老是笔误。

http://www.zskr.cn/news/45801.html

相关文章:

  • 日志 | 2025.11
  • 完整教程:【C++】继承(1)
  • 高级语言程序第四次作业 - 102300317
  • 打印机出现print job cancled at printer
  • [ARC107D] Number of Multisets 分析
  • 2025年3000卫生纸加工设备推荐排行
  • 项目管理系统开发指导
  • 2025年做工精细的小白瓶前置过滤器哪家靠谱
  • 2025年11月滑梯厂家推荐榜: 解锁安全户外滑梯/不锈钢滑梯/组合滑梯/非标滑梯/儿童滑梯趣味游乐新体验
  • 2025年资深的大型展厅设计渠道哪家强
  • 2025年超融合渠道口碑推荐榜
  • day24-langgraph基础
  • 2025年毛发检测企业推荐排行榜单
  • 2025年资深的青少年心智成长训练企业哪家强
  • Cuda C++:Tensor Core 数值行为分析之测试复现
  • 推荐几家城际出行网约车公司
  • WORK 4
  • 2025年知识付费软件平台不踩坑:五星推荐创客匠人,知识店铺搭建/知识内容变现系统/在线教育SaaS平台/线上卖课平台/AI赋能和陪跑服务双保障
  • 校园二手物品交易平台
  • pytorch、torchaudio、torchvideo版本对应关系
  • 微信小程序开发过程中,体验版调试模式是一个非常实用的功能,尤其适用于测试人员、产品或团队成员在正式发布前进行作用验证。以下是对微信小应用“体验版调试模式”的详细设置说明,包括操作步骤等
  • 【四级】全国大学英语四级历年真题及答案解析PDF电子版(2015-2025年6月) - 详解
  • 提示词语料收集
  • 2025-11-10 早报新闻
  • 20232428 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 详细介绍:P3375 【模板】KMP
  • 基于DP1323EL的电动车解锁方案:超高速读写,提升电动车一键解锁体验
  • 最强LLM生成代码也会出错?
  • 张量与向量
  • 实用指南:LLMs-from-scratch :KV 缓存