zoukankan      html  css  js  c++  java
  • 【题解】Luogu P3740 [HAOI2014]贴海报

    woc,今天已经是day -1了

    再写一颗珂朵莉树来++rp吧

    否则就要AFO了qaq

    这有可能是我最后一篇题解/博客qaq

    原题传送门:P3740 [HAOI2014]贴海报

    考前刷水题到底是对还是错qaq

    反正这题是很水

    前置芝士:珂朵莉树

    窝博客里对珂朵莉树的介绍

    没什么好说的自己看看吧

    每贴一张海报暴力assign_val

    最后用桶排思想统计一下即可

    #pragma GCC optimize("O3")
    #include <bits/stdc++.h>
    #define IT set<node>::iterator
    using namespace std;
    inline int read()
    {
        int x=0,f=1; char c=getchar();
        for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
        for(;isdigit(c);c=getchar()) x=x*10+c-'0';
        return x*f;
    }
    struct node
    {
        int l,r;
        mutable int v;
        node(int L, int R=-1, int V=0):l(L), r(R), v(V) {}
        bool operator<(const node& o) const
        {
            return l < o.l;
        }
    };
    set <node> s;
    IT split(int pos)
    {
        IT it = s.lower_bound(node(pos));
        if (it != s.end() && it->l == pos) 
            return it;
        --it;
        int L = it->l, R = it->r, V = it->v;
        s.erase(it);
        s.insert(node(L, pos-1, V));
        return s.insert(node(pos, R, V)).first;
    }
    void assign_val(int l,int r,int val)
    {
        IT itr=split(r+1),itl=split(l);
        s.erase(itl,itr);
        s.insert(node(l,r,val));
    }
    bool vis[1005];
    int main()
    {
        int n=read(),m=read();
        s.insert(node(1,n+5));
        for(register int i=1;i<=m;++i)
        {
            int l=read(),r=read();
            assign_val(l,r,i);
        }
        int res=0;
        IT itr=split(n+1),itl=split(1);
        for(;itl!=itr;++itl)
            if(!vis[itl->v]&&itl->v>=1&&itl->v<=m)
            {
                ++res;
                vis[itl->v]=true;
            }
        printf("%d",res);
        return 0;
    }
    

    最后,我为众大佬送上蒟蒻的祝福

    #pragma GCC optimize("O2")
    #pragma GCC optimize("O3")
    #include <bits/stdc++.h>
    #define I_ak_ioi using namespace std;
    I_ak_ioi; 
    struct NOIP{
    	int rp;
    	int score;
    	int rank;
    }NOIP2018;
    int main()
    {
    	while(19260817)
    	{
    		++NOIP2018.rp;
    		NOIP2018.score=AK;
    		NOIP2018.rank=1;
    	}
    	return 0;
    }
    
  • 相关阅读:
    Mybatis Generator 生成的mapper只有insert方法
    someone you loved 歌词翻译
    Illegal instant due to time zone offset transition (Asia/Shanghai)_夏令时问题
    React js ReactDOM.render 语句后面不能加分号
    node js 路由
    node -v node is not define
    怎样从gitHub上面拉项目
    工作3年java面试题整理(自用)
    状态模式
    代理模式
  • 原文地址:https://www.cnblogs.com/yzhang-rp-inf/p/9932483.html
Copyright © 2011-2022 走看看