zoukankan      html  css  js  c++  java
  • P2087 GTY的人类基因组计划2 set map

      

    题目描述

    GTY召唤了n个人来做实验,GTY家的房子很大,有m个房间一开始所有人都在1号房间里,GTY会命令某人去某个房间等待做实验,或者命令一段区间的房间开始实验,实验会获得一些实验信息点数,点数为房间里的人数,如果一个房间里的一群人已经做过实验了那么这些人将不会增加实验信息点数(不会增加是针对这一群人的,不是对这群人中的每个人,即1,2,3做了实验,1,2再做实验还会增加2点实验点数)

    输入输出格式

    输入格式:

    第一行两个整数n,m,q(n,m,q<=10^5)表示人数,房间数和操作数

    接下来q行每行一个操作 "C i j"表示让第i个人去房间j "W l r" 表示让区间[l,r]的房间做实验

    输出格式:

    对于每一个W操作,输出一个数,表示此次操作所获得的实验点数

    输入输出样例

    输入样例#1: 复制
    3 5 7
    C 1 2
    C 2 2
    W 1 2
    C 3 2
    W 1 2
    C 3 3
    W 1 3
    输出样例#1: 复制
    3
    3
    0

    map和set强行怼
    set可以直接删除内容!! 也可以用下标删除

    #include<bits/stdc++.h>
    using namespace std;
    //input by bxd
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define repp(i,a,b) for(int i=(a);i>=(b);--i)
    #define RI(n) scanf("%d",&(n))
    #define RII(n,m) scanf("%d%d",&n,&m)
    #define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
    #define RS(s) scanf("%s",s);
    #define ll long long
    #define pb push_back
    #define CLR(A,v)  memset(A,v,sizeof A)
    //////////////////////////////////
    #define inf 0x3f3f3f3f
    const int N=1e5+5;
    set<int>room[N];
    map<set<int>,int>mp;
    int pos[N],m,n,q,a,b;
    char s[2];
    set<int>::iterator it;
    int main()
    {
        RIII(n,m,q);
        rep(i,1,n)
        room[1].insert(i),pos[i]=1;
    
        while(q--)
        {
            RS(s);RII(a,b);
            if(s[0]=='C')
            {
                room[pos[a]].erase(a);
                pos[a]=b;
                room[b].insert(a);
            }
            else
            {
                int ans=0;
                rep(i,a,b)
                {
                    if(mp[room[i]])continue;
                    ans+=room[i].size();
                    mp[room[i]]=1;
                }
                cout<<ans<<endl;
            }
        }
        return 0;
    }
    View Code










  • 相关阅读:
    山东省第一届acm程序设计竞赛题解
    今日头条(3-30)第四题(离线)
    codeforces #204(div2)
    网易雷火笔试-打印机(区间dp)
    360笔试(3-18)编程题
    codeforces #202(div2) C
    RedisTemplate实现分布式锁
    redis的缓存穿透,缓存并发,缓存失效
    松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸(转)
    我读过的最好的epoll讲解(nginx原理)--转自”知乎“
  • 原文地址:https://www.cnblogs.com/bxd123/p/10914614.html
Copyright © 2011-2022 走看看