news 2026/2/5 0:52:12

洛谷 P10468 兔子与兔子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P10468 兔子与兔子

题目描述

很久很久以前,森林里住着一群兔子。

有一天,兔子们想要研究自己的 DNA 序列。

我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母)。

然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。

注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。

输入格式

第一行输入一个 DNA 字符串 S。

第二行一个数字 m,表示 m 次询问。

接下来 m 行,每行四个数字 l1​,r1​,l2​,r2​,分别表示此次询问的两个区间,注意字符串的位置从 1 开始编号。

输出格式

对于每次询问,输出一行表示结果。

如果两只兔子完全相同输出Yes,否则输出No(注意大小写)。

输入输出样例

输入 #1复制

aabbaabb 3 1 3 5 7 1 3 6 8 1 2 1 2

输出 #1复制

Yes No Yes

说明/提示

数据保证,1≤∣S∣,m≤106。其中,∣S∣ 为字符串 S 的长度。

#include<bits/stdc++.h> using namespace std; const int N=1e6+10,P=13331; string s; typedef unsigned long long ULL; ULL f[N];//字符串哈希数组 ULL p[N];//P的i次方 int n,m; void init_hash() { p[0]=1; for(int i=1;i<=n;i++) { f[i]=f[i-1]*P+s[i]; p[i]=p[i-1]*P; } } ULL get_hash(ULL l,ULL r) { return f[r]-f[l-1]*p[r-l+1]; } int main() { cin>>s; n=s.size(); s=" "+s; cin>>m; init_hash(); while(m--) { ULL l1,r1,l2,r2; cin>>l1>>r1>>l2>>r2; if(get_hash(l1,r1)==get_hash(l2,r2)) { cout<<"Yes"<<endl; }else{ cout<<"No"<<endl; } } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 0:19:53

终极指南:如何用pbxproj轻松玩转Xcode项目文件

终极指南&#xff1a;如何用pbxproj轻松玩转Xcode项目文件 【免费下载链接】mod-pbxproj A python module to manipulate XCode projects 项目地址: https://gitcode.com/gh_mirrors/mo/mod-pbxproj pbxproj是一个强大的Python模块&#xff0c;专门用于读取、修改和保存…

作者头像 李华
网站建设 2026/2/3 1:50:10

类型安全强化学习实战:从Gymnasium类型提示到项目稳健性提升

"为什么我的强化学习训练总是莫名其妙崩溃&#xff1f;" 这可能是每个RL开发者都经历过的深夜拷问。当你在step()方法中传入一个错误类型的动作&#xff0c;或者在包装器链中因观测空间不匹配而陷入调试泥潭时&#xff0c;Gymnasium的类型提示系统或许正是你需要的救…

作者头像 李华
网站建设 2026/2/1 6:00:19

OBS直播教程:OBS多路推流插件如何下载?如何安装?怎么用?

OBS直播教程&#xff1a;OBS多路推流插件如何下载&#xff1f;如何安装&#xff1f;怎么用&#xff1f; OBS多路推流插件可以实现&#xff1a;一台电脑同时直播多个直播平台&#xff0c;节约电脑&#xff0c;节约电费 具体如何安装&#xff1f;如何使用&#xff1f;我写了一个…

作者头像 李华
网站建设 2026/2/4 18:58:46

ComfyUI-Manager依赖安装:5分钟搞定pip与uv的完美切换

ComfyUI-Manager依赖安装&#xff1a;5分钟搞定pip与uv的完美切换 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 还在为ComfyUI-Manager依赖安装速度慢而烦恼吗&#xff1f;作为ComfyUI生态中不可或缺的节点管理器&a…

作者头像 李华
网站建设 2026/1/30 4:11:45

5步精通libgit2跨平台编译:从依赖管理到性能优化

5步精通libgit2跨平台编译&#xff1a;从依赖管理到性能优化 【免费下载链接】libgit2 A cross-platform, linkable library implementation of Git that you can use in your application. 项目地址: https://gitcode.com/gh_mirrors/li/libgit2 你是否曾在构建libgit2…

作者头像 李华