CF #371 (Div. 2) Cmap标记

Posted 掉血菜鸡煮熟中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF #371 (Div. 2) Cmap标记相关的知识,希望对你有一定的参考价值。

1、CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie

2、总结:一开始直接用数组遍历,果断T了一发

题意:t个数,奇变1,偶变0,然后与问的匹配。

技术分享
#include<bits/stdc++.h>
#define max(a,b) a>b?a:b
#define F(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define LL long long
using namespace std;
const int N=110000,MAX=1000100;

LL cal(LL m)
{
    int k=0;
    LL sum=0;
    while(m){
        if((m%10)&1){
            sum+=(1<<k);
        }
        m/=10;
        k++;
    }
    return sum;
}

int main()
{
    map<LL,int>num;
    int t;
    LL m,ans;
    char str[5];
    while(~scanf("%d",&t))
    {
        while(t--){
            scanf("%s%lld",str,&m);
            if(str[0]==+){
                ans=cal(m);
                if(!num.count(ans)){
                    num[ans]=0;
                }
                num[ans]++;
            }
            else if(str[0]==-){
                ans=cal(m);
                num[ans]--;
            }
            else if(str[0]==?){
                ans=cal(m);
                printf("%d\n",num[ans]);
            }
        }
    }

    return 0;
}
View Code

 

以上是关于CF #371 (Div. 2) Cmap标记的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #371 (Div. 2) A

Codeforces Round #371 (Div. 2) C

Codeforces Round #371 (Div. 2) B

Codeforces Round #371 (Div. 1)

Codeforces Round #371 (Div. 2)B. Filya and Homework

Codeforces#371 Div2