首页 > 其他分享 >字符串杂乱笔记

字符串杂乱笔记

时间:2023-12-10 09:12:06浏览次数:28  
标签:多项式 矩阵 笔记 base 杂乱 哈希 字符串

字符串哈希

将字符串的信息压缩到一个信息里面,一般压成一个值。

多项式哈希:
形如 \(h(s)=\sum\limits^{\left|s\right|}_{i=1}s_ibase^{i-1}\) 的哈希。

例:"abbab",使 a 为 \(1\),b 为 \(2\),base 为 \(7\),

注:直接用 s[i]-'a' 会使得 a 的值为 \(0\),导致 aaaaaa 值相同。
所以用 s[i]-'a'+1 会好一点。

base 比较小容易调试,可以设 \(29\)。
(《可以给人看的》人言否!)

多项式哈希会出一点问题,例:"ab"+"cd"="ad"+"cb"

矩阵哈希:
将字符串映射为一个数组,将字符串中各个字符代表的矩阵乘起来即为值。

标签:多项式,矩阵,笔记,base,杂乱,哈希,字符串
From: https://www.cnblogs.com/LiJoQiao/p/17892170.html

相关文章

  • 《卓有成效的程序员》读书笔记3
    《卓有成效的程序员》就是这样一本教你如何变懒的书,在机制部分,主要介绍了一些能帮助大家提升效率的工具,思想。个人总结:1、Mac系统上使用QuickSilver加快程序的启动。2、尽量少的使用鼠标,甚至都不要使用上下左右的按键,因为这些手势都会导致效率的下降。3、使用Vim作为文本编......
  • [数字图像处理笔记] 第二章 数字图像处理基础
    1.数字图像处理基础知识1.1图像数字化及表达1.1.1图像数字化将代表图像的连续(模拟)信号转换为离散(数字)信号的过程。1.1.2图像表达任一幅图像,根据它的光强度(亮度、密度或灰度)的空间分布,均可以用下面的函数形式来表达:\[I=f(x,y,z,\lambda,t)\]数字图......
  • C++学习笔记三:变量与数据类型(浮点型)
    1.数据类型与所占内存大小类型大小精度注意float47 double815默认longdouble16>double 精度就是有效数字 2.声明和初始化floatnumber1{1.12345678901234567890f};//Precision:7doublenumber2{1.12345678901234567890};......
  • PWN-非栈上格式化字符串之.fini_array劫持
    1..fini_array劫持上周打了一下金盾杯,算是第一次做非栈上格式化字符串的题,之前只在ctfwiki上看过一点。边学边做,比赛最后一个小时做出来了,爽了。以金盾杯的题为例1.12023金盾杯sign_format题目介绍:一道非栈上的格式化字符串,通过修改dl_fini数组里的偏移值,使函数在退出时执......
  • Effective C++笔记总结
    1、示C++为一个语言联邦C++是个多重范型编程语言(multiparadigmprogramminglanguage),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。2、尽量以const,enum,inline替换#define宏定义的变......
  • Python字符串的使用和相关函数方法
    字符串是Python中最常用的数据类型。我们可以使用引号(单引号或双引号)来创建字符串。本文主要介绍字符串常用操作和42个字符串相关的方法,下面具体看一下。参考文档:https://www.cjavapy.com/article/6/1、创建字符串创建很简单,只要为变量分配一个值即可。例如:var1='He......
  • C++学习笔记二:变量与数据类型(整型)
    1.int(整型数据):1.1进制的表示:十进制,八进制,16进制,二进制intnumber1=15;//Decimalintnumber2=017;//Octalintnumber3=0x0F;//Hexadecimalintnumber4=0b00001111;//Binary上面几种表示方式都表示15这个数字,用cout输出得到相同的结果 1.2......
  • C++学习笔记一:windows系统配置C++开发环境(VS code+g++/clang++)
    1.下载vscode官网下载地址:https://code.visualstudio.com/安装时选择把软件加入到环境变量中这个选项 2.打开vscode,安装c/c++扩展插件 3.下载gcc和clang编译器下载地址:https://winlibs.com/下载后解压,把bin文件夹所在的路径加入到环境变量中加环境变量的方法:在程序......
  • 学C笔记归纳 第九篇——分支循环语句3_for_while_do while(附九九乘法表解析和三种方式
     基础语法模版:while(1 条件控制语句){2 语句序列;}顺序:121212....21 do{ 1语句序列; }while(2 循环控制表达式);顺序:121212....12  for(1 初始化表达式;2 条件控制语句;4 调整表达式){3......
  • RabbitMQ学习笔记(一)
    安装1.下载erlang并安装,地址:http://erlang.org2.下载mq并安装,地址:http://www.rabbitmq.com/download.html3.安装完成后,管理后台地址:http://localhost:15672,初始账号和密码:guest/guest优缺点优点:解耦、削峰、数据分发缺点:系统可用性降低;系统引入的外部依赖越多,系统稳定性越......