C. Sonya and Queries

题目连接:

http://codeforces.com/contest/714/problem/C

Description

Today Sonya learned about long integers and invited all her friends to share the fun. Sonya has an initially empty multiset with integers. Friends give her t queries, each of one of the following type:

 +  ai — add non-negative integer ai to the multiset. Note, that she has a multiset, thus there may be many occurrences of the same integer.-  ai — delete a single occurrence of non-negative integer ai from the multiset. It's guaranteed, that there is at least one ai in the multiset.
? s — count the number of integers in the multiset (with repetitions) that match some pattern s consisting of 0 and 1. In the pattern, 0 stands for the even digits, while 1 stands for the odd. Integer x matches the pattern s, if the parity of the i-th from the right digit in decimal notation matches the i-th from the right digit of the pattern. If the pattern is shorter than this integer, it's supplemented with 0-s from the left. Similarly, if the integer is shorter than the pattern its decimal notation is supplemented with the 0-s from the left. 

For example, if the pattern is s = 010, than integers 92, 2212, 50 and 414 match the pattern, while integers 3, 110, 25 and 1030 do not.

Input

The first line of the input contains an integer t (1 ≤ t ≤ 100 000) — the number of operation Sonya has to perform.

Next t lines provide the descriptions of the queries in order they appear in the input file. The i-th row starts with a character ci — the type of the corresponding operation. If ci is equal to '+' or '-' then it's followed by a space and an integer ai (0 ≤ ai < 1018) given without leading zeroes (unless it's 0). If ci equals '?' then it's followed by a space and a sequence of zeroes and onse, giving the pattern of length no more than 18.

It's guaranteed that there will be at least one query of type '?'.

It's guaranteed that any time some integer is removed from the multiset, there will be at least one occurrence of this integer in it.

Output

For each query of the third type print the number of integers matching the given pattern. Each integer is counted as many times, as it appears in the multiset at this moment of time.

Sample Input

12

  • 1
  • 241
    ? 1
  • 361
  • 241
    ? 0101
  • 101
    ? 101
  • 101
    ? 101
  • 4000
    ? 0

Sample Output

2
1
2
1
1

Hint

题意

有n个操作

1.添加一个数

2.删除一个数

3.查询这个集合里面一共有多少个数满足这个01串,这个01串是1的话,表示这位是奇数,否则是偶数。长度不够就补0

题解:

最长是LL,所以我们对于每一个数,都直接处理出来他的18位01串是啥

然后开一个map搞一搞就好了

代码

#include<bits/stdc++.h>
using namespace std;
map<string,int>H;
long long tmp;
int main()
{int n;scanf("%d",&n);while(n--){char op[5];scanf("%s",op);if(op[0]=='+'){cin>>tmp;string s;for(int i=0;i<18;i++){s+='0'+(tmp%2);tmp/=10;}H[s]++;}else if(op[0]=='-'){cin>>tmp;string s;for(int i=0;i<18;i++){s+='0'+(tmp%2);tmp/=10;}H[s]--;}else{string ss;cin>>ss;reverse(ss.begin(),ss.end());while(ss.size()!=18)ss+='0';cout<<H[ss]<<endl;}}
}

Codeforces Round #371 (Div. 2) C. Sonya and Queries 水题相关推荐

  1. Codeforces Round #371 (Div. 2) C. Sonya and Queries —— 二进制压缩

    题目链接:http://codeforces.com/contest/714/problem/C C. Sonya and Queries time limit per test 1 second m ...

  2. Codeforces Round #370 (Div. 2) A. Memory and Crow 水题

    A. Memory and Crow 题目连接: http://codeforces.com/contest/712/problem/A Description There are n integer ...

  3. Codeforces Round #311 (Div. 2) A. Ilya and Diplomas 水题

    A. Ilya and Diplomas Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/ ...

  4. Codeforces Round #394 (Div. 2) A. Dasha and Stairs 水题

    A. Dasha and Stairs 题目连接: http://codeforces.com/contest/761/problem/A Description On her way to prog ...

  5. Codeforces Round #404 (Div. 2) B. Anton and Classes 水题

    B. Anton and Classes 题目连接: http://codeforces.com/contest/785/problem/B Description Anton likes to pl ...

  6. Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题

    A. One-dimensional Japanese Crossword 题目连接: http://codeforces.com/contest/721/problem/A Description ...

  7. Codeforces Round #358 (Div. 2) A. Alyona and Numbers 水题

    A. Alyona and Numbers 题目连接: http://www.codeforces.com/contest/682/problem/A Description After finish ...

  8. Codeforces Round #307 (Div. 2) A. GukiZ and Contest 水题

    A. GukiZ and Contest Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/551/ ...

  9. Codeforces Round #311 (Div. 2)B. Pasha and Tea 水题

    B. Pasha and Tea Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/prob ...

最新文章

  1. matlab中patch命令_matlab 放大平移图形是超出边界问题的处理
  2. 两个字符串之间的连接函数,不使用strcat()函数
  3. params(C# 参考)
  4. Linux安装与硬盘分区
  5. Hyper-V实战:高可用性-网络规划篇(Hyper-V1.0)
  6. hibernate merge saveorupdate save lock
  7. 优达学城数据分析笔记1--------数据分析过程(python篇)
  8. oracle在线sql数据库设计,一款在线ER模型设计工具,支持MySQL、SQLServer、Oracle、Postgresql...
  9. 推荐系统经典论文学习
  10. java矩阵面积_Java基础 矩阵面积
  11. Win7系统下调整硬盘分区大小给C盘更多的空间
  12. Sturts2 与android的图片上传交互
  13. Hibernate4实战   之   第五部分:Hibernate的事务和并发
  14. 单例设计模式(懒汉式)(饿汉式)
  15. mysql long类型格式_MySQL 数据类型
  16. 最适合写python程序的软件
  17. 波特率与频率的换算公式?_变压器损耗计算公式
  18. 以太网的CSMA/CD协议
  19. RADAR毫米波雷达传感器
  20. 要求输入目录路径以及名字,能够将该路径下的所有文件的属性打印出来,类似ls -la

热门文章

  1. 深度学习大厂前端项目开发全流程全流程
  2. 在命令行中使用ssh连接远程服务器
  3. Domino9下web群组维护添加log维护记录
  4. Oracle Goldengate 安装配置
  5. laravel的blade模板的布局嵌套
  6. 让我们的linux的shell命令待颜色
  7. 中位数(Median)
  8. 剑指offer——面试题24:二叉搜索树的后序遍历序列
  9. 关于协方差矩阵的理解
  10. JS Location