• [CF]codeforces round#366(div2)滚粗记


    开场心理活动:啊打完这场大概有1700了吧

    中途心理活动:啊这个ABC看起来都随便做啊

    死亡原因:欸怎么没网了image

    -75 。。

    A

    【题意】Hulk说完一句I hate会说that I love 然后是hate love循环。。

    我前面大小写打错了以为自己过了样例又WA了一发

    【题解】傻逼题

    B

    【题意】对于一堆大小为x石子,可以把他分成p,x-p两堆(p>0,x>p),先后手进行,无法操作的输,每次加进一堆石子,查询加上这堆之后的胜负情况

    对于单个石子,只要查看x的奇偶性即可,但是由于多堆石子,看的是sum_{i=1}^nx_i-1的奇偶性

    我前面看错题目了以为每堆石头是独立的

    int main(){
        int n=gi;
        ll now=0;
        while(n--){
            int a=gi;a=a-1;
            now+=a;
            if(now&1ll)puts("1");
            else puts("2");
        }
        return 0;
    }

    C

    【题意】有n个应用,q个事件(n,q<=300000)

    事件有三种:

    1.应用i发出一条消息

    2.读完所有应用t发出的消息

    3.读完前t条(是严格的前i条发出的消息)

    在每个事件发生之后,查询有几条未读消息

    【题解】

    设cnt表示一共发出了多少条消息

    我们用一个树状数组记录读过的消息数量

    操作1,2中,在vector上直接维护。特别的,因为操作3的前t条是全局的,那么我们每次计算有多少条消息未读时,只和到现在为止所有3操作的t中最大的有关,设最大值为pre。那么未读的消息数量就是

    cnt-sum_{i=1}^{cnt}[Message_iisread]+(sum_{i=1}^{p}[Message_iisread]-pre)

    vector<int>p[333333];
    int bit[333333],n,q;
    int cnt=0,pre=0;
    void add(int x){
        while(x<=300000){
            bit[x]++;
            x+=x&-x;
        }
    } 
    int sum(int x){
        int ans=0;
        while(x>0){
            ans+=bit[x];
            x-=x&-x;
        }
        return ans;
    }
    int main(){
        n=gi;q=gi;
        FOR1(i,q){
            int tp=gi,t=gi;
            if(tp==1){
                p[t].push_back(++cnt);
            }
            if(tp==2){
                int sz=p[t].size();
                FOR0(i,sz){
                    add(p[t][i]);
                }            
                p[t].clear();
            }
            if(tp==3)pre=max(pre,t);
            pre=min(pre,cnt);
            printf("%d
    ",cnt-sum(cnt)+sum(pre)-pre); 
        }
    }
  • 相关阅读:
    CSS印象不深的小地方
    gulp常用插件的使用
    移动端手势库Hammer.js—增强touch事件或手势
    HTML5拖放与文件操作api,实现拖拽上传文件功能
    Less相关
    gulp使用(一)
    将博客搬至CSDN
    jquery Ajax 通过jsonp的方式跨域提交表单
    解决“The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path”问题
    使用eclipse4.5创建maven项目
  • 原文地址:https://www.cnblogs.com/chouti/p/5749677.html
Copyright © 2020-2023  润新知