阅读 91

哈希.字符串哈希.AcWing.841

code:

#include//xfl
using namespace std;
const int N = 100007;
typedef unsigned long long ull;
ull mis[N],sum[N];
string s;
int n,m,l1,l2,r1,r2;
int main()
{
    cin>>n>>m>>s;
    mi[0]=1;
    for(int i=1;i<=n;++i)
    {
        mi[i]=mi[i-1]*131;
        sun[i]=sum[i-1]*131+s[i-1];
    }
    for(int i=1;i<=m;++i)
    {
        scanf("%d%d%d%d",&l1,&r1,&l2,&r2);
        int l=r1-l1+1;
        ull h1=sum[r1]-sum[l1-1]*mi[l];
        ull h2=sum[r2]-sum[l2-1]*mi[l];
        if(h1==h2)puts("Yes");
        else puts("No");
    }
    return 0;
}

 

原文:https://www.cnblogs.com/xfldbk/p/14197829.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐