首页 > 其他分享 >一本通1456(哈希表板子

一本通1456(哈希表板子

时间:2022-12-01 13:55:48浏览次数:42  
标签:const int long 板子 char cas 1456 哈希 op

 用map<int,bool>

 

#include "bits/stdc++.h"
using namespace std;
const int N=1e4+5;
#define int unsigned long long
 const int mod=212370440130137957ll;
 char s[N];
 int bas=131;
 
 int Hash(char *s){
     int t,i,n=strlen(s+1);
     t=0;
     for(i=1;i<=n;i++){
         t=t*bas+s[i]; t%=mod;
     }
     return t;
 }
 map<int,bool> mp;
 
 main(){
     int cas;
     string op;
     cin>>cas;
     while(cas--){
         cin>>op; getchar();fgets(s+1,204,stdin);
         int t=Hash(s);
         
         if(op=="add") mp[t]=true;
         else cout<<(mp[t]?"yes":"no")<<endl;
     }
 }

 

标签:const,int,long,板子,char,cas,1456,哈希,op
From: https://www.cnblogs.com/towboa/p/16941181.html

相关文章

  • POJ - 1456 Suprtmarket
    POJ-1456Suprtmarket题目大意:传送门有\(n\)个物品,第\(i\)个物品必须要在\(d_i\)天内买完,且卖出该物品可以获得\(p_i\)的利润。一天只能卖一个物品,求最多可以获得多少......
  • 「哈希表」最大频率栈(力扣第895题)
    本题为11月30日力扣每日一题题目来源:力扣第895题题目tag:哈希表题面题目描述设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。实现......
  • 代码随想录——哈希表
    有效的字母异位词题目简单/***242.有效的字母异位词字典解法*时间复杂度O(m+n)空间复杂度O(1)*/classSolution{publicbooleanisAnagram(Strings,......
  • splay板子
    #include<bits/stdc++.h>usingnamespacestd;constintmaxn=100000+5;structSplay{intch[maxn][0],ch[maxn][1],fa[maxn],siz[maxn],key[maxn],tot;......
  • 【小航的算法日记】哈希
    一、概念哈希表、哈希函数、哈希碰撞二、模板三、例题题:242.有效的字母异位词给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个......
  • lca 板子
    这题#10130. 「一本通4.4例1」点的距离求树上两点的距离 #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+2,M=N;intnxt[M],hd[N],all,go[M......
  • 不知道什么时候用Hash表,学完后,我得到了答案 ---> 判断一个元素是否出现 , 就要考虑
    242.有效的字母异位词怎么硕呢?虽然我想到了可以用表去存每个字母的个数,所以一开始,我用了这种算法,我将其锐评为:傻子方法:用两个表思路就是::建两个表,然后遍历对......
  • 割点板子
    一些直白的理解,和标准定义有差别,但也足够了 点双连通:一个图任意去掉一个点后仍然联通;   边双连通同理割点:去掉某个点后,图不连通     割边同理 求割点(l......
  • [数据结构] 树哈希(待补)
    树哈希参考:​​树哈希(TreeHash)​​​哔哩哔哩koko​​无权树哈希函数设计设hs[x]表示以x为根的子树的哈希值其中y是x的儿子,是以y为根的子树的大小,prime[i]是第i个质数其实......
  • 高精度板子
     #include<bits/stdc++.h>usingnamespacestd;intcompare(stringstr1,stringstr2){if(str1.length()>str2.length())return1;elseif(str1.length(......