一日一题:第五题---模拟散列表字符串哈希(好吧,今天确实勤奋了hh)

news/2024/12/2 16:51:41/

​作者:小妮无语
专栏:一日一题
🚶‍♀️✌️道阻且长,不要放弃✌️🏃‍♀️

​今天主要发现两个很好用的结构,想做个记录

目录

    • 1.模拟散列表
    • 代码
    • 2.字符串哈希
    • 代码

1.模拟散列表

题目描述·
维护一个集合,支持如下几种操作:

I x,插入一个数 x;
Q x,询问数 x是否在集合中出现过;
现在要进行 N 次操作,对于每个询问操作输出对应的结果。

输入格式

第一行包含整数 N,表示操作数量。

接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。

输出格式

对于每个询问指令 Q x,输出一个询问结果,如果 x 在集合中出现过,则输出 Yes,否则输出 No。

每个结果占一行。
数据范围
1≤N≤10^5
−10^9 ≤x≤10^9
输入样例:

5
I 1
I 2
I 3
Q 2
Q 5

输出样例:

Yes
No

代码

#include<bits/stdc++.h>
using namespace std;
map<int,int>m;
char a[2];
int q;
int main()
{cin>>q;while(q--){int x;scanf("%s%d",a,&x);if(a[0]=='I'){m[x]=1;}else{if(m[x]==1)puts("Yes");else puts("No");}}return 0;
}

map< >之前没做到过,好香,我只能说,它不用你初始化长度
1.可以将任何基本类型映射到任何基本类型。如int
array[100]事实上就是定义了一个int型到int型的映射。
2.map提供一对一的数据处理,key-value键值对,其类型可以自己定义,第一个称为关键字,第二个为关键字的值
3.map内部是自动排序的

2.字符串哈希

题目描述·
给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1]和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。

字符串中只包含大小写英文字母和数字。

输入格式

第一行包含整数 n 和 m,表示字符串长度和询问次数。

第二行包含一个长度为 n 的字符串,字符串中只包含大小写英文字母和数字。

接下来 m 行,每行包含四个整数 l1,r1,l2,r2,表示一次询问所涉及的两个区间。
注意,字符串的位置从 11 开始编号。

输出格式

对于每个询问输出一个结果,如果两个字符串子串完全相同则输出 Yes,否则输出 No。
每个结果占一行。

数据范围
1≤n,m≤10^ 5
输入样例:

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

输出样例:

Yes
No
Yes

代码

#include<bits/stdc++.h>
using namespace std;int main()
{int n,m;string s;cin>>n>>m>>s;string t,u;while(m--){int a,b,c,d;scanf("%d%d%d%d",&a,&b,&c,&d);t=s.substr(a-1,b-a+1);u=s.substr(c-1,d-c+1); if(t==u) puts("Yes");else puts("No");} return 0;
}

substr!!!锤爆,我本来差一点,就准备遍历了,/(ㄒoㄒ)/~~
把边界一放,嘎嘎香,以字符串存储,直接就可以比较
虽然这个还是会超时,但是应付一下也是可以的,等我过几天学学正规做法。

欢迎来到一日一题的小菜鸟频道,睡不着就看看吧!
跟着小张刷题吧!


http://www.ppmy.cn/news/40420.html

相关文章

第十四届蓝桥杯省赛C++ A组浅析

&#xff08;仅个人看法&#xff0c;对错未知&#xff0c;可以当做口胡QAQ&#xff09;如有错误请大佬们指出&#xff0c;有更好做法欢迎留言&#xff01; A 幸运数 暴力判不多说了 B 有奖问答 看到很多搜的&#xff0c;提供一个dp做法 dp[i][j]表示前i道题&#xff0c;答对…

如何面对游戏工业化时代的到来?资产管理的整体解决方案

“游戏工业化”、“游戏工业管线建立”、“大规模生产”—— 这些都是近几年在游戏研发行业越来越常听到的用词。 游戏工业化&#xff0c;是否意味着未来游戏产业会像生产流水线一样&#xff0c;游戏从业者在线上的不同节点分工合作&#xff0c;进行重复劳动&#xff1f;实际上…

和ChatGPT-4聊完后,我觉得一切可能已经来不及了

了然无味&#xff0c;晴空万里&#xff01;和ChatGPT-4开始了一场坦诚的沟通&#xff0c;它全程都表现出高情商&#xff0c;以及不断尽量安抚我的情绪&#xff0c;而这&#xff0c;恰恰令我脊背发凉。 部分文字截取 ZM&#xff1a;我能不能理解每次对话就是一次你的“生命” G&…

flex布局:输入框布局demo

目标效果 首先&#xff0c;生成输入框&#xff1a; 代码&#xff1a; 结果&#xff1a; 设置基本样式 包括&#xff1a;去除边距、设置父盒子的宽度(如果不设置宽度&#xff0c;会使用整个浏览器的宽度&#xff09;、添加父盒子边框等 代码&#xff1a; *{margin: 0;pad…

亚马逊修改远程登录SSH

1、更改 root 用户密码 sudo passwd root 2、切换到 root 用户 su root 3、修改 sshd_config 配置文件 vi /etc/ssh/sshd_config 4、开启密码验证 PasswordAuthentication yes 5、设定是否允许root管理员直接登录 PermitRootLogin yes 注意&#xff1a;如果 4、5项找不…

vue中使用ele中的tree树形控件

这里只演示获取当前选择层级例如&#xff1a;第一节点&#xff0c;第二节点和第三节点 <el-treeref"tree":data"data":show-checkbox"true"node-key"id"default-expand-all></el-tree><el-button click"getChecke…

分享88个ASP其他类别源码,总有一款适合您

分享88个ASP其他类别源码&#xff0c;总有一款适合您 88个ASP其他类别源码下载链接&#xff1a;https://pan.baidu.com/s/15Hx5mKAqhabvmdKij4C-3g?pwdxgrp 提取码&#xff1a;xgrp Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 我的博客地址&#xff1a;亚…

JavaScript对象类型之function

目录 一、Function 定义函数 调用函数 默认参数 匿名函数 箭头函数 二、函数是对象 三、函数作用域 四、闭包 五、let、var与作用域 一、Function 定义函数 function 函数名(参数) {// 函数体return 结果; } 例如&#xff1a; function add(a, b) {return a b; …