news 2026/8/1 5:02:57

【ACWing】138. 兔子与兔子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ACWing】138. 兔子与兔子

题目地址:

https://www.acwing.com/problem/content/140/

很久很久以前,森林里住着一群兔子。有一天,兔子们想要研究自己的 DNA 序列。我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含26 2626个小写英文字母)。然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。

输入格式:
第一行输入一个DNA字符串S SS
第二行一个数字m mm,表示m mm次询问。
接下来m mm行,每行四个数字l 1 , r 1 , l 2 , r 2 l_1,r_1,l_2,r_2l1,r1,l2,r2,分别表示此次询问的两个区间,注意字符串的位置从1 11开始编号。

输出格式
对于每次询问,输出一行表示结果。
如果两只兔子完全相同输出Yes,否则输出No(注意大小写)。

数据范围:
1 ≤ l e n g t h ( S ) , m ≤ 1000000 1≤length(S),m≤10000001length(S),m1000000

字符串哈希。代码如下:

#include<iostream>#include<cstring>usingnamespacestd;usingull=unsignedlonglong;constintN=1e6+10,P=131;intn,m;chars[N];ull ha[N],po[N];ullget_hash(intl,intr){returnha[r]-ha[l-1]*po[r-l+1];}intmain(){scanf("%s",s+1);scanf("%d",&m);n=strlen(s+1);po[0]=1;for(inti=1;i<=n;i++){ha[i]=ha[i-1]*P+s[i];po[i]=po[i-1]*P;}while(m--){intl1,r1,l2,r2;scanf("%d%d%d%d",&l1,&r1,&l2,&r2);puts(get_hash(l1,r1)==get_hash(l2,r2)?"Yes":"No");}}

预处理时间复杂度O ( l S ) O(l_S)O(lS),每次询问时间O ( 1 ) O(1)O(1),空间O ( l S ) O(l_S)O(lS)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 10:34:37

【.NET开发者必看】EF Core 9时序数据支持带来的6大性能优化机会

第一章&#xff1a;EF Core 9时序数据支持概述 Entity Framework Core 9 引入了对时序表&#xff08;Temporal Tables&#xff09;的原生支持&#xff0c;为开发者提供了更便捷的方式来管理数据库中数据的历史变更记录。这一特性特别适用于需要审计追踪、数据恢复或分析历史状态…

作者头像 李华
网站建设 2026/8/1 20:53:21

Linux Storage Stack 终极详细解读(精简但超透彻)

&#x1f525; Linux Storage Stack 终极详细解读&#xff08;精简但超透彻&#xff09; 下面按照存储 I/O 从 应用 → 内核 → VFS → Page Cache → Block Layer → 设备 → 物理硬件 的顺序讲。 Linux Storage Stack Diagram ① 应用层&#xff08;Userspace&#xff09; …

作者头像 李华
网站建设 2026/8/1 7:28:40

网络安全工作必须有证吗?

在网络安全行业&#xff0c;证书常被视为入行的 “敲门砖”&#xff0c;尤其是对零基础求职者而言&#xff0c;它能快速证明专业能力、增加面试竞争力。但实战经验、技术功底同样是企业招聘的核心考量&#xff0c;不少资深从业者凭借项目经历也能站稳脚跟&#xff0c;所以证书并…

作者头像 李华
网站建设 2026/8/1 13:21:56

MySQL进阶篇——存储结构,索引

索引非常重要MySQL体系结构1、存储引擎&#xff08;MySQL默认InnoDB&#xff09;1、InnoDB&#xff1a;高可靠性和高性能的通用存储引擎存储数据&#xff0c;建立索引&#xff0c;更新/查询数据&#xff0c;基于表设置。--创建表时指定存储引擎 create table 表名(字段 字段类型…

作者头像 李华
网站建设 2026/7/31 22:20:44

BepInEx模组开发终极指南:5步搞定Unity游戏插件框架

想要为Unity游戏开发插件却不知从何入手&#xff1f;BepInEx作为业界领先的Unity游戏插件框架&#xff0c;支持Mono、IL2CPP和.NET多种运行时环境&#xff0c;让模组开发变得简单高效。本指南将带你从零开始&#xff0c;通过系统化的步骤和实用的解决方案&#xff0c;彻底掌握B…

作者头像 李华