news 2026/9/24 2:02:22

【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/9/23 9:57:43

5 轴行架两工位码垛机项目大揭秘

5轴行架两工位码垛机项目 两轴同步/自动计算坐标 IT7100EH5U-1614MT-A8SV630N伺服X轴*2&#xff0c;Y轴&#xff0c;Z轴&#xff0c;R轴&#xff08;物品标签朝向一边&#xff0c;通过R轴调整&#xff09; 功能要点 1&#xff1a;托盘一层最多16件&#xff0c;单层摆放顺序客户…

作者头像 李华
网站建设 2026/9/22 10:05:07

【仅限早期采用者】Unity 2025中C# 12与DOTS协同优化的4个黑科技

第一章&#xff1a;Unity 2025中C# 12与DOTS协同优化的演进背景随着游戏和实时3D应用对性能要求的不断提升&#xff0c;Unity在2025版本中进一步深化了C#语言与底层架构的融合。此次更新引入了C# 12语言特性&#xff0c;并将其与Data-Oriented Technology Stack&#xff08;DOT…

作者头像 李华
网站建设 2026/9/23 6:42:06

CppCon 2024 学习:Fast and small C++ Whenefficiency matters

执行方式&#xff1a; 程序执行&#xff1a; 示例显示了程序的执行命令&#xff1a;$ ./a.out。这里使用的是 Linux 风格的命令行执行&#xff0c;其中没有指定输出文件名&#xff0c;因此程序默认的输出文件名为 a.out。这是 Unix 和类 Unix 系统中默认的可执行文件名称。 …

作者头像 李华