2023-8-26 字符串哈希

这篇具有很好参考价值的文章主要介绍了2023-8-26 字符串哈希。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目链接:字符串哈希
2023-8-26 字符串哈希,哈希算法,算法,散列表文章来源地址https://www.toymoban.com/news/detail-675475.html

#include <iostream>

using namespace std;

typedef unsigned long long ULL;

const int N = 100010, P = 131;

char str[N];
ULL h[N], p[N];

ULL get(int l, int r)
{
    return h[r] - h[l - 1] * p[r - l + 1];
}

int main()
{
    
    int n, m;
    cin >> n >> m >> str + 1;
    p[0] = 1;
    for(int i = 1; i <= n; i ++)
    {
        p[i] = p[i - 1] * P;
        h[i] = h[i - 1] * P + str[i];
    }
    
    while(m --)
    {
        int l1, r1, l2, r2;
        cin >> l1 >> r1 >> l2 >> r2;
        if(get(l1, r1) == get(l2, r2)) cout << "Yes" << endl;
        else cout << "No" << endl;
    }
    return 0;
}

到了这里,关于2023-8-26 字符串哈希的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c# 判断一个字符串列表是否包含另一个字符串列表中某一个元素

    当需要判断一个字符串列表是否包含另一个字符串列表中的某个元素时,可以使用 LINQ 查询来完成。下面是一个示例方法: 在上面的示例中,我们有两个字符串列表 list1 和 list2。我们想要判断 list1 是否包含了 list2 中的某个元素。 我们定义了 ListContainsElement 方法,该方法接

    2024年02月12日
    浏览(83)
  • 438. 找到字符串中所有字母异位词【异位词-哈希数组】

    438. 找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s = “cbaebabacd”, p = “abc” 输出: [0,6] 解释: 起

    2023年04月27日
    浏览(40)
  • LeetCode-763. 划分字母区间【贪心 哈希表 双指针 字符串】

    给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 示例 1: 输入:s = “ababcbacadefegdehijhklij” 输

    2024年04月10日
    浏览(56)
  • C语言学习之统计英文字符串中26个字母大小写出现的次数

    实例要求: 编写C语言代码,统计出英文字符串中26个字母大写和小写 出现的次数 ; 输入输出如下所示: 实例分析: 1.对字符串用 while循环或者for循环 进行遍历,找到 26个英文字母大小写 ; 2.将所有英文字母大写或者小写都转换成 ASCII值 ,进行运算; 3.封装相应的功能函数

    2024年02月10日
    浏览(65)
  • Python系列之字符串和列表

                感谢点赞和关注 ,每天进步一点点!加油! 目录 一、字符串 1.1 字符串的定义与输入 1.2 字符串的拼接与格式化输出 1.3 字符串的下标 1.4 字符串的切片和倒序 1.5 字符串的常见操作 二、列表-List 2.1 列表的常见操作 2.2 列表合并和拼接 2.3 列表嵌套 三、元组-Tup

    2024年02月05日
    浏览(78)
  • 如何从 Python 中的字符串列表中删除特殊字符?

    在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串

    2024年02月08日
    浏览(59)
  • Python 中将字符串拆分为整数列表

    将字符串拆分为整数列表: 使用 str.split() 方法将字符串拆分为字符串列表。 使用列表理解来迭代字符串列表。 使用 int() 类将每个字符串转换为整数。 列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。 在每次迭代中,我们将当前列表项传递给 int() 类

    2024年02月05日
    浏览(52)
  • Python 基础教程【3】:字符串、列表、元组

    本文已收录于专栏 🌻 《Python 基础》 Python 中的字符串是一个有序的字符集合,用于存储或表示基于文本的信息,它不仅能保存文本,而且能保存非打印字符或二进制数据 重点: 双引号或者单引号中的数据,就是字符串 如果使用一对引号来定义字符串,当出现符号冲突时可

    2023年04月16日
    浏览(43)
  • Python中列表和字符串的反转

    在Python中有专门进行列表反转的函数--reverse() 还可以使用切片操作进行列表反转 关于字符串的反转,并没有确切的函数对字符串进行反转,但是字符串也可以使用切片进行反转 以上对列表和字符串的反转,都是现成的,使用起来很方便;但是我们也可以自己为列表和字符串

    2024年04月24日
    浏览(30)
  • cf edu152 C. Binary String Copying(字符串双哈希)

    cf edu152 C. Binary String Copying(字符串双哈希) 题目链接:https://codeforces.com/contest/1849/problem/C 题目大意 给定一个01字符串,长度为n,拷贝m份,对每一份进行相应操作:将 [ L i , R i ] [L_i,R_i] [ L i ​ , R i ​ ] 的字符排序,实际就是调整为0在前1在后,问得到的m个副本有多少个不同

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包