茶颜悦色

Posted liulex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了茶颜悦色相关的知识,希望对你有一定的参考价值。

茶颜悦色

扫描线

线段树开4倍空间谜之WA

#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
struct Nod
   int x,y;
   bool f;///记录左右端点?
N[200005];
struct Tree
 int d;
 int lazy;
T[maxn*7];
vector<int> A;
bool cmp(Nod a,Nod b)

    if(a.y==b.y)return a.f==0;
    return a.y<b.y;

void pushdown(int x)

    T[x<<1].d+=T[x].lazy;
    T[x<<1].lazy+=T[x].lazy;
    T[x<<1|1].d+=T[x].lazy;
    T[x<<1|1].lazy+=T[x].lazy;
    T[x].lazy=0;

void pushup(int x)

    T[x].d=max(T[x<<1].d,T[x<<1|1].d);

void update(int l,int r,int ll,int rr,int v,int x)

    if(l>=ll&&r<=rr)
        T[x].d+=v;
        T[x].lazy+=v;
        return;
    
    int mid=(l+r)>>1;
    pushdown(x);
    if(ll<=mid)
        update(l,mid,ll,rr,v,x<<1);
    
    if(rr>mid)
        update(mid+1,r,ll,rr,v,x<<1|1);
    
    pushup(x);

int n,k;
int main()

    scanf("%d%d",&n,&k);
    int x,y;
    for(int i=0;i<n;i++)
        scanf("%d%d",&x,&y);
        A.push_back(x);
        A.push_back(x+k);
        N[i]=Nodx,y,1;
        N[i+n]=Nodx,y+k,0;
    
    //sort(A,A+n);
    sort(A.begin(),A.end());
    unique(A.begin(),A.end());
    sort(N,N+2*n,cmp);
    int ans=0;
    for(int i=0;i<2*n;i++)
        int l=lower_bound(A.begin(),A.end(),N[i].x)-A.begin()+1;
        int r=lower_bound(A.begin(),A.end(),N[i].x+k)-A.begin()+1;
        if(N[i].f)
           update(1,len,l,r,1,1);
        
        else
             update(1,len,l,r,-1,1);
        
        ans=max(ans,T[1].d);
        //cout<<ans<<endl;
    
    cout<<ans<<\n;

 

以上是关于茶颜悦色的主要内容,如果未能解决你的问题,请参考以下文章

茶颜悦色老板在8000人大群怒怼员工,唱反调的一律开除,一看月薪只发了1000多......

吸取“顶流”茶颜悦色“教训”,虎头局应该尽快走出长沙吗?

蜜雪冰城茶颜悦色“卷”向咖啡赛道

一场员工高管间的口水战,员工输了

暑假集训-8.15总结

“顶流”长沙,如何发展MCN?