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