zoukankan      html  css  js  c++  java
  • Codeforces Round #344 (Div. 2)

    A - Interview

    题意:一个区间l,r。f(x,l,r)是区间从左到右用|运算符运算所得到的结果,求使得两个数组a,b中相同l,r得到的最大和

    思路:直接暴力

    #include<cstdio>
    #include<algorithm>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    using namespace std;
    const int qq=1000+10;
    long long a[qq],b[qq];
    int main() 
    {
            int n;
            scanf("%d",&n);
            for(int i=0;i<n;++i)
                scanf("%lld",&a[i]);
            for(int i=0;i<n;++i)
                scanf("%lld",&b[i]);
            long long maxn=0;
            for(int j,i=0;i<n;++i){
                long long ans=0,cns=0;
                for(j=i;j<n;++j){
                    ans|=a[j];
                    cns|=b[j];
                    maxn=max(maxn,ans+cns);
                }
            }
            printf("%lld
    ",maxn);    
    }

    B - Print Check

    题意:给出一个n*m的矩阵,有k个操作,给出三个数a,b,c,如果a=1的话 代表讲b行的所有数赋值c  ,a是2的话就是对b列进行操作

    思路:因为后面赋值的会覆盖前面的赋值,所以每一个点(i,j)如果赋值情况越晚,那么最后就是这个赋值情况

     1 #include<iostream>
     2 #include<cmath>
     3 #include<cstring>
     4 using namespace std;
     5 const int qq=5005;
     6 int n,m,k,x,y,z,a[qq],b[qq],r[qq],c[qq];
     7 int main()
     8 {
     9     cin >> n >> m >> k;
    10     for(int i=1;i<=k;++i){
    11         cin >> z >> x >> y;
    12         if(z==1){
    13             r[x]=y;a[x]=i;
    14         }
    15         else{
    16             c[x]=y;b[x]=i;
    17         }
    18     }
    19     for(int j,i=1;i<=n;++i){
    20         for(j=1;j<=m;++j)
    21             if(a[i]>b[j])
    22                 cout << r[i] << " ";
    23             else
    24                 cout << c[j] << " ";
    25             cout << endl;
    26     }  
    27 } 
  • 相关阅读:
    JAVAGUI设计步骤
    JAVA接口基础知识总结
    静态关键字static用法。
    JAVA面向对象的多态性
    java封装的概念
    多线程
    关于集合类间的区别
    JAVA——异常
    java——内部类
    Java——接口
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5244830.html
Copyright © 2011-2022 走看看