首页 > 其他分享 >基础代码-维护集合

基础代码-维护集合

时间:2022-11-22 18:33:59浏览次数:51  
标签:map 代码 t2 long t1 字符串 集合 维护 st


问题 C: 维护集合

时间限制: 1 Sec  内存限制: 512 MB

题目描述

维护一个字符串集合:初始为空,依次处理一些插入操作,并在插入 之后输出该字符串在集合中出现的次数。 

输入


输入文件包含若干行,每行为一个字符串,依次代表一个待插入的字 符串。该字符串一定非空,且仅包含英文字母和数字。 

输出

对于每个插入操作输出一行一个整数,代表插入该字符串之后,该字 符串在集合中出现的次数。 

样例输入


str1
str2
str1
str1
str2
str3


样例输出

1
1
2
3
2
1


提示

字符串的长度不超过 100,字符串个数不超过100000。 

这题很容易想到Hash,但100000的个数非常容易出现重复导致WA。C++中可以用map直接存储判断。

  Code:

#include <cstdio> 
#include <iostream>
#include <cstring>
#include <map>
long long M1=313571787;
long long M2=1000000037;
std::map<std::pair<long long,long long>,int>map;
char st[1000];
int main()
{
while(scanf("%s",st+1)!=EOF){
int len=strlen(st+1);
long long t1=0;
long long t2=0;
for(int i=1;i<=len;i++){
(t1=t1*29+st[i]*41)%=M1;
(t2=t2*31+st[i]*43)%=M2;
}
map[std::make_pair(t1,t2)]++;
printf("%d\n",map[std::make_pair(t1,t2)]);
}
return 0;
}

标签:map,代码,t2,long,t1,字符串,集合,维护,st
From: https://blog.51cto.com/u_15888102/5878326

相关文章

  • 基础代码-计算后缀表达式
    问题E:计算后缀表达式时间限制:1Sec  内存限制:128MB题目描述后缀表达式是将运算符置于两个运算对象之后的一种表达方法,例如“3+4”用写成后缀表达式后就......
  • 基础代码-线段
    问题B:线段时间限制:1Sec  内存限制:128MB题目描述1.询问+LR增加一条线段[L,R],你的程序应该输出有多少条线段被该线段包含(非严格)。2.询问-L......
  • javascript-代码随想录训练营day6
    242.有效的字母异位词题目链接:https://leetcode.cn/problems/valid-anagram/题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s......
  • 使用MSIL采用Emit方式实现C#的代码生成与注入常用代码
    本文主要使用微软提供的一套C#的API函数,通过这些API函数,可以对已经编译过的.Net体系生成的EXE,DLL文件进行修改,而不是修改源码编译的方式,来完成新功能的加入、或者原有功......
  • ECharts – 饼状图图代码实例及其注释详解
    mytextStyle={color:"#333",//文字颜色fontStyle:"normal",//italic斜体oblique倾斜fontWeight:"normal",//文字粗细boldbolderl......
  • ECharts – 折线图代码实例及注释
    mytextStyle={color:"#333",//文字颜色fontStyle:"normal",//italic斜体oblique倾斜fontWeight:"normal",//文字粗细boldbolderl......
  • ECharts – 柱形图代码实例及其注释详解
    mytextStyle={color:"#333",//文字颜色fontStyle:"normal",//italic斜体oblique倾斜fontWeight:"normal",//文字粗细boldbolderl......
  • Java实现网络爬虫 案例代码
    Java实现网络爬虫案例代码需求说明搭建开发环境,实现《三国演义》全文保存在本地 步骤分析访问网址:http://www.shicimingju.com/book/sanguoyanyi.html分析网站URL......
  • HX学习之常用代码块
    查看内建的代码块,点击菜单-工具-代码块设置,选择要查看的语言的代码块。通用js代码块iff:简单ifforr:for循环结构体fori:for循环结构体并包含ifunn:函数funa:匿名函数......
  • 小程序canvas2D绘制印章,话不多说,直接上代码
    效果图:  CanvasContext是旧版的接口,不维护了,新版Canvas2D接口与Web一致  官方文档: https://developers.weixin.qq.com/miniprogram/dev/api/canvas/......