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. AE脚本:把SubRip/SRT/TXT/VTT字幕导入到AE

    脚本介绍 如果您需要在视频中嵌入字幕以进行网络或磁带传送,那么这个脚本则非常有用.可以将SubRip/SRT/TXT/VTT字幕格式文件通过 pt_ImportSubtitles脚本直接加载到AE软件 ...

  2. 前端每日实战:131# 视频演示如何用纯 CSS 创作一把剪刀

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GXyGpZ 可交互视频 此视频是可 ...

  3. node生成excel,动态替换表格内容

    这里使用的是exceljs模块, 好上手,易操作 1. 大致使用步骤 npm install exceljs // 引用var Excel = require('exceljs'); // 创建一个w ...

  4. java异常和throw和throws的区别

    之前在编程中编译完成后,运行时,会遇见一些常见的错误,如NullPointerException,ArrayIndexOutOfBoundsException等等 在今天重新回顾学习了java异常,总 ...

  5. 数据库介绍以及MySQL数据库的使用

    一 数据库介绍 1.1 数据库定义 数据库就是存储数据的仓库  本质上就是一套cs结构的TCP程序   客户端连接到服务器 向服务器发送指令  完成数据的操作 1.2  常见数据库 关系型数据库 就是 ...

  6. url参数格式化

    getQueryBbj = (url)=>{ let urlData = url.split("?")[1]; let queryArr = urlData.split('& ...

  7. 2020年ubuntu sever1804 安装和配置

    最后一次折腾linux服务器,应该是13的我的VPS.因为转行后,没有及时关注vps续费的问题,结果过期,所有的数据丢失了 当时觉得,反正都不做了,丢了就丢了吧,可现在想起来,实在是太后悔了. 今天, ...

  8. 026.掌握Service-外部访问

    一 集群外部访问 由于Pod和Service都是Kubernetes集群范围内的虚拟概念,所以集群外的客户端默认情况,无法通过Pod的IP地址或者Service的虚拟IP地址:虚拟端口号进行访问.通常 ...

  9. PyCharm设置远程虚拟环境

    1. 创建项目 2. 配置解释器 1. 先打开srttings 2. 选择配置解释器选项 3. 配置远端虚拟环境 4. 成功提示 5. 查看pip列表信息 经过以上操作,PyCharm设置远程虚拟环境 ...

  10. fastdfs的入门到精通(引言和单机安装)

    引言: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服 ...