zoukankan      html  css  js  c++  java
  • 20191229 考试记录

    T1 

    试题分析

    $link$

    考虑形式化的来讲就是将 $r$ 号套圈所对应的人连 $[r,r+d]$ ,求是否有二分图完美匹配。

    而这个问题可以用 $Hall$ 定理判断,考虑连续与非连续的表达形式,可以发现连续的表达形式一定强与非连续。那么问题变为了求 $sum_{i=l}^r X_ileq (r-l+1+d) imes k$ ,则 $sum_{i=l}^r X_i-kleq dcdot k$ 。

    对于连续段的任何一个值均小于 $dcdot k$ ,则可以求最大子段和,线段树解决即可,时间复杂度 $O(qlog n)$ 。

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    #define int long long 
    using namespace std;
    inline int read(){
        int f=1,ans=0;char c=getchar();
        while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
        while(c>='0'&&c<='9'){ans=ans*10+c-'0';c=getchar();}
        return f*ans;
    }
    const int MAXN=500001;
    struct Segment{
        int Ml[MAXN<<2],Mr[MAXN<<2],Maxn[MAXN<<2],sum[MAXN<<2];
        inline void pushup(int k){
            sum[k]=sum[k<<1]+sum[k<<1|1];
            Ml[k]=max(Ml[k<<1],sum[k<<1]+Ml[k<<1|1]);Mr[k]=max(Mr[k<<1|1],sum[k<<1|1]+Mr[k<<1]);
            Maxn[k]=max(Maxn[k<<1],Maxn[k<<1|1]);Maxn[k]=max(Maxn[k],Mr[k<<1]+Ml[k<<1|1]);return;
        }
        inline void Modify(int k,int l,int r,int ps,int w){
            if(l==r){Ml[k]+=w,Mr[k]+=w,Maxn[k]+=w,sum[k]+=w;return;}
            int mid=l+r>>1;
            if(ps<=mid) Modify(k<<1,l,mid,ps,w);else Modify(k<<1|1,mid+1,r,ps,w);
            pushup(k);return;
        }
    }S;
    int N,M,K,d;
    signed main(){
        freopen("t1.in","r",stdin);
        freopen("t1.out","w",stdout);
        N=read(),M=read(),K=read(),d=read();
        for(register int i=1;i<=N;++i) S.Modify(1,1,N,i,-K);
        for(register int i=1;i<=M;++i){
            int x=read(),w=read();
            S.Modify(1,1,N,x,w);
            int res=S.Maxn[1];
            if(res<=d*K) printf("TAK
    ");else printf("NIE
    ");
        } return 0;
    }
    View Code

    T2

    试题分析

    $link$

    $dyls$ 的题解写的很清楚了。

    1

  • 相关阅读:
    JAVA CAS原理深度分析
    Java 并发类库AbstractQueuedSynchronizer 分析
    构建高并发高可用的电商平台架构实践
    简单控件 复合控件
    WebFrom基础
    控件m
    控件
    WinForm
    操作数据类m
    数据操作类
  • 原文地址:https://www.cnblogs.com/si-rui-yang/p/12121122.html
Copyright © 2011-2022 走看看