zoukankan      html  css  js  c++  java
  • Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) C D

    C - Maximum Subrectangle

    因为是两个数组相乘的到的 矩阵所以  a(i ->j)*b(x->y) 的面积 就是   a(i ->j) 的和乘与b(x->y)的和

    所以我们枚举 a 序列 从1-n的长度和  B序列同理 然后 枚举两个序列和相乘 找一个最大即可

    #include<bits/stdc++.h>
    using namespace std;
    #define inf 0x3f3f3f3f
    #define LL long long
    #define maxn 3000
    LL a[maxn],b[maxn],c[maxn],d[maxn];
    int main(){
      LL n,m,x;
      cin>>n>>m;
      memset(a,0,sizeof(a));
      memset(b,0,sizeof(b));
      for(LL j=1;j<=n;j++){
         cin>>a[j];
         a[j]+=a[j-1];
      }
      for(LL j=1;j<=m;j++){
         cin>>b[j];
         b[j]+=b[j-1];
      }
      cin>>x;
      memset(c,inf,sizeof(c));
      memset(d,inf,sizeof(d));
      for(LL j=1;j<=n;j++){
         for(LL k=j;k<=n;k++){
            c[k-j+1]=min(c[k-j+1],a[k]-a[j-1]);
         }
      }
      for(LL j=1;j<=m;j++){
         for(LL k=j;k<=m;k++){
            d[k-j+1]=min(d[k-j+1],b[k]-b[j-1]);
         }
      }
      LL mx=0;
      for(LL j=1;j<=n;j++){
         for(LL k=1;k<=m;k++){
            if(c[j]*d[k]<=x){
               mx=max(mx,j*k);
            }
         }
      }
      cout<<mx<<endl;
    }

    D - Social Circles

    D还没有写 随后写完补上

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 100005
    int a[maxn],b[maxn];
    int main(){
       int n;
       cin>>n;
       for(int j=0;j<n;j++){
         cin>>a[j]>>b[j];
       }
       sort(a,a+n);
       sort(b,b+n);
       long long ans=0;
       for(int j=0;j<n;j++){
          ans+=max(a[j],b[j]);
       }
       cout<<ans+n<<endl;
       
       return 0;
    }
  • 相关阅读:
    golang zip 压缩,解压(含目录文件)
    c3p0参数详解
    golang协程——通道channel阻塞
    乔恩与加菲猫引发的思考
    部署bugzilla(bugzilla+apache+mysql+linux)
    新的篇章
    SQL基础2
    SQL基础1
    引用
    const 对象默认为文件的局部变量
  • 原文地址:https://www.cnblogs.com/Dvelpro/p/9937355.html
Copyright © 2011-2022 走看看