zoukankan      html  css  js  c++  java
  • 计蒜客 48301 染色(简单)

    1. 如果不考虑特殊区间,对于每个元素来说,既可以染成黑色从而得到(b_i)
      也可以染成白色从而得到(w_i),当然最好是染成黑色和白色两者中较大的从
      而得到(max(b_i,w_i))
    2. 现考虑特殊区间,由于本题已保证(m)个区间两两不相交,因此可以单独考
      虑每个区间,如果把区间染成同一种颜色后得到的美感比第一步的最优决策
      还要优,那么就按要求把区间染成同一种颜色;否则,就按第一步的最优决
      策进行染色。

    由于涉及到大量的区间和查询的操作,所以需要预处理前缀和。

    const int N=3e5+10;
    int b[N],w[N];
    LL sumb[N],sumw[N],sum[N];
    int n,m;
    
    int main()
    {
        cin>>n>>m;
    
        for(int i=1;i<=n;i++)
            cin>>b[i],sumb[i]=sumb[i-1]+b[i];
        for(int i=1;i<=n;i++)
            cin>>w[i],sumw[i]=sumw[i-1]+w[i];
    
        for(int i=1;i<=n;i++)
            sum[i]=sum[i-1]+max(b[i],w[i]);
    
        LL res=sum[n];
        while(m--)
        {
            int t,l,r,c;
            cin>>t>>l>>r>>c;
            LL inc=0;
            if(t == 1)
                inc=(sumb[r]-sumb[l-1]+c)-(sum[r]-sum[l-1]);
            else
                inc=(sumw[r]-sumw[l-1]+c)-(sum[r]-sum[l-1]);
    
            if(inc > 0) res+=inc;
        }
    
        cout<<res<<endl;
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    git log中文乱码问题
    局域网映射公网IP
    Android Studio 的一些配置
    Android Studio的安装
    adb的安装
    python的安装
    CentOS 7 上部署 java web 项目
    SQL——SQL语句总结(8)
    SQL——SQL语句总结(7)
    SQL——SQL语句总结(6)
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14615790.html
Copyright © 2011-2022 走看看