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;
}

ICPC训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019的更多相关文章

  1. 2020.3.14--训练联盟周赛 Preliminaries for Benelux Algorithm Programming Contest 2019

    1.A题 题意:给定第一行的值表示m列的最大值,第m行的值表示n行的最大值,问是否会行列冲突 思路:挺简单的,不过我在一开始理解题意上用了些时间,按我的理解是输入两组数组,找出每组最大数,若相等则输出 ...

  2. 03.14 ICPC训练联盟周赛,Preliminaries for Benelux Algorithm Programming Contest 2019

    A .Architecture 题意:其实就是想让你找到两行数的最大值,然后比较是否相同,如果相同输出'possible',不同则输出'impossible' 思路:直接遍历寻找最大值,然后比较即可 ...

  3. Preliminaries for Benelux Algorithm Programming Contest 2019

    A. Architecture 如果行最大值中的最大值和列最大值中的最大值不同的话,那么一定会产生矛盾,可以手模一个样例看看. 当满足行列最大值相同条件的时候,就可以判定了. 因为其余的地方一定可以构 ...

  4. ICPC训练周赛 Benelux Algorithm Programming Contest 2019

    D. Wildest Dreams 这道题的意思是Ayna和Arup两人会同时在车上一段时间,在Ayna在的时候,必须单曲循环Ayna喜欢的歌,偶数段Ayna下车,若此时已经放了她喜欢的那首歌,就要将 ...

  5. 2020.3.21--ICPC训练联盟周赛Benelux Algorithm Programming Contest 2019

    A Appeal to the Audience 要想使得总和最大,就要使最大值被计算的次数最多.要想某个数被计算的多,就要使得它经过尽量多的节点.于是我们的目标就是找到 k 条从长到短的链,这些链互 ...

  6. Benelux Algorithm Programming Contest 2019

    J. Jazz it Up!题目要求,n*m的因子中不能含有平方形式,且题目中已经说明n是一个无平方因子的数, 那么只要m是无平方因子的数,并且n和m没有共同的因子即可.要注意时间复杂度!代码:#in ...

  7. Benelux Algorithm Programming Contest 2014 Final(第二场)

    B:Button Bashing You recently acquired a new microwave, and noticed that it provides a large number ...

  8. 03.28,周六,12:00-17:00,ICPC训练联盟周赛,选用试题:UCF Local Programming Contest 2016正式赛。

    A. Majestic 10 题意:三个数均大于10则输出"triple-double",如果两个数大于10则输出"double-double",如果一个大于1 ...

  9. 03.21 ICPC训练联盟周赛:UCF Local Programming Contest 2018正式赛

    B Breaking Branches 题意:两个人比赛折枝,谁剩下最后1,无法折出整数即为输 思路:树枝长n,若是奇数,则Bob胜出,若是偶数,则Alice胜出,且需要输出1: 1 #include ...

随机推荐

  1. 用 Python 生成 HTML 表格

    在 邮件报表 之类的开发任务中,需要生成 HTML 表格. 使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样 ...

  2. 正式学习MVC 04

    1.ActionResult ActionResult是一个父类, 子类包括了我们熟知的 ViewResult 返回相应的视图 ContentResult  返回字符串 RedirectResult( ...

  3. 【前端】这可能是你看过最全的css居中解决方案了~

    1.水平居中:行内元素解决方案 适用元素:文字,链接,及其其它inline或者inline-*类型元素(inline-block,inline-table,inline-flex) html部分代码: ...

  4. vue+element tree(树形控件)组件(2)

    今天记录组件的代码和一个调用它的父组件的代码,接口接收数据直接传element直接能用的,也就是经过上一章函数处理过的数据以下是代码 父组件 <template> <commonfi ...

  5. JAVA Integer值的范围

    原文出处:http://hi.baidu.com/eduask%C9%BD%C8%AA/blog/item/227bf4d81c71ebf538012f53.html package com.test ...

  6. spring boot Shiro JWT整合

    一个api要支持H5, PC和APP三个前端,如果使用session的话对app不是很友好,而且session有跨域攻击的问题,所以选择了JWT 1.导入依赖包 <dependency> ...

  7. OpenGL 实现视频编辑中的转场效果

    转场介绍 转场效果是什么? 转场效果,简单来说就是两段视频之间的衔接过渡效果. 现在拍摄 vlog 的玩家越来越多,要是视频没有一两个炫酷的转场效果,都不好意思拿出来炫酷了. 那么如何在视频编辑软件中 ...

  8. RStudio终端操作

    转于:https://support.rstudio.com/hc/en-us/articles/115010737148-Using-the-RStudio-Terminal#send 原文是英文版 ...

  9. js 为数组编写该方法;indexOf

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. js获取按钮的文字

    button按钮有两种情况: 1 <input type="button" id="button" value="button"> ...