zoukankan      html  css  js  c++  java
  • ICPC训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019

    I题

    求 a 数组平方的前缀和和求 a 数组后缀和,遍历一遍即可

    AC代码

    #include<iostream>
    #include<cmath>
    using namespace std;
    int a[1000005];
    long long l[1000005], r[1000005];
    int main(){
     int i,n;
     cin>>n;
     long long int sum;
     for(i=0;i<n;i++){
      cin>>a[i];
     }
     l[0]=a[0]*a[0];
     for(i=0;i<n;i++){
      l[i]=l[i-1]+a[i]*a[i]; 
     }
     for(i=n-1;i>=0;i--){
      r[i]=r[i+1]+a[i];
     }
     for(i=0;i<n;i++){
      sum=max(sum,l[i]*r[i+1]);
     }
     cout<<sum<<endl;
     return 0;
    }

    F题

    若 n % 2 == 0 且 n % 4 != 0,n = (m - k)(m + k)

    AC代码

    #include<iostream>
    #include<algorithm>
    #include<cstdio>
    #include<cmath>
    #include<string>
    #include<map>
    #include<sstream>
    #include<cstring>
    using namespace std;
    /*题意就是求满足n=m^2-k^2的任意一组m和k的解
    m^2-k^2=(m+k)*(m-k)
    可以把n分为奇数和偶数两种情况
    */
    int main()
    {
        long long n,s,m,k,i,j,p=0;
        cin>>n;
        if(n%2==0)//n是偶数
        {
            for(i=2; i*i<=n; i+=2)//找出n的两个因子i和j,且i*j==n,i<j
            {
                if(n%i==0)//先找出因子i
                {
                    j=n/i;//再求出另一个因子j,列一个方程组:m+k=i,m-k=j,求m和k
                    if((j+i)%2==0)//这一步相当于解方程组,如果j+i为偶数说明方程组有解
                    {
                        m=(j+i)/2;
                        k=(j-i)/2;
                        cout<<m<<" "<<k<<endl;
                        p=1;
                        break;
                    }
                    if(p==1)
                    {
                        break;
                    }
                }
            }
            if(p==0)
            {
                cout<<"impossible"<<endl;
            }
        }
        else//n是奇数时有一种情况一定是对的,就是m+k=n,m-k=1的情况,所以n/2=k,k+1=m。比如15=15*1=(8+7)*(8-7)
        {
            s=n/2;
            cout<<s+1<<" "<<s<<endl;
        }
        return 0;
    }
  • 相关阅读:
    git-将dev代码合并到test
    java中一句话取到用split()截后的最后一个值
    shiro重定向或会话失效后NginxURL地址无效,以及浏览器控制台Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an insecure错误
    Linux 查找Nginx配置文件位置命令
    Linux 常用命令(个人暂时用到的)
    代理模式
    【Vue自学笔记(四)】天气案例
    【Vue自学笔记(三)】网络请求的简单使用
    【Vue自学笔记】案例
    【Vue自学笔记(二)】Vue指令
  • 原文地址:https://www.cnblogs.com/nanan/p/12511893.html
Copyright © 2011-2022 走看看