news 2026/7/10 13:35:46

【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/9 16:07:49

PHP 8.6 JIT性能突破:3种典型应用架构下的真实加速比分析

第一章&#xff1a;PHP 8.6 的 JIT 编译性能基准测试PHP 8.6 即将发布&#xff0c;其核心优化之一是进一步增强的 JIT&#xff08;Just-In-Time&#xff09;编译器。本章通过标准基准测试工具对 JIT 在典型工作负载下的性能表现进行量化分析&#xff0c;涵盖数值计算、字符串处…

作者头像 李华
网站建设 2026/7/10 1:18:13

本地化业务新范式:Gemma模型多语言任务定制与部署全指南

本地化业务新范式&#xff1a;Gemma模型多语言任务定制与部署全指南 【免费下载链接】embeddinggemma-300m-qat-q8_0-unquantized 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/embeddinggemma-300m-qat-q8_0-unquantized 在全球化商业环境中&#xff0c;企业…

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

STM32 驱动 MSP20 传感器 + OLED 显示教程

本文将详细讲解如何使用 STM32 单片机驱动 MSP20 血压 / 气压 / 压力传感器&#xff0c;并将采集到的压力数据实时显示在 OLED 屏幕上。教程采用STM32F103C8T6&#xff08;最小系统板&#xff09;、I2C 接口 OLED&#xff08;0.96 寸&#xff09;、MSP20 传感器&#xff0c;代码…

作者头像 李华
网站建设 2026/7/10 6:48:36

2026年全套Java面试合集,终于整理完了!

一、Java并发面试题 1、 ThreadLocal 1.1 谈谈你对ThreadLocal的理解&#xff1f; ThreadLocal的作用主要是做数据隔离&#xff0c;填充的数据只属于当前线程&#xff0c;变量的数据对别的线程而言是相对隔离的。它不是针对程序的全局变量&#xff0c;只是针对当前线程的全局…

作者头像 李华
网站建设 2026/7/10 7:54:52

数字孪生技术有哪些实际应用?

数字孪生&#xff0c;作为一种将物理实体或系统在其全生命周期内&#xff0c;通过数据驱动在虚拟空间中构建动态镜像的技术&#xff0c;正深刻改变着众多行业的运作模式。它不仅是一个简单的三维模型&#xff0c;更是一个集成了实时数据、模拟分析、预测决策能力的综合系统。随…

作者头像 李华