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. eslint webpack2 vue-loader配置

    eslint是一个代码检测工具 官网如下http://eslint.cn/ npm install eslint --save-dev 需要这几个npm包: eslint eslint-loader ...

  2. 【渗透】node.js经典问题

    1.循环问题 当循环调用 require() 时,一个模块可能在未完成执行时被返回.例如以下情况:a.js: exports.done = false; const b = require('./b. ...

  3. Flask css 无法实时更新

    css代码改完了,但是查看网页源代码css的内容还是很久之前的,根本没有更新 解决方法: 1.浏览器缓存.使用ctrl+F5刷新一下页面 2. 3. from datetime import time ...

  4. 处理公共CDN突然失效的情况

    公共CDN的使用 刚开始开发我的博客时,使用的bootcdn,发现他们被黑过,虽然想骂那些“黑客”,但是我们也没办法去防范,只能从自己的网站上入手解决. 那时我还没技术解决这个问题,网上搜过,大都只提 ...

  5. 超级干货:动态防御WAF技术原理及编程实战!

    本文带给大家的内容是动态防御WAF的技术原理及编程实战. 将通过介绍ShareWAF的核心技术点,向大家展示动态防御的优势.实现思路,并以编程实战的方式向大家展示如何在WAF产品开发过程中应用动态防御 ...

  6. Sublime text 3 运行python3

    要在Sublime text3编译器中成功运行 python3,需要在编译器设置中将python3添加至编译器中 新建编译系统 编辑弹出的文件,添加如下内容: { "cmd":[& ...

  7. 一文深入了解史上最强的Java堆内缓存框架Caffeine

    它提供了一个近乎最佳的命中率.从性能上秒杀其他一堆进程内缓存框架,Spring5更是为了它放弃了使用多年的GuavaCache 缓存,在我们的日常开发中用的非常多,是我们应对各种性能问题支持高并发的一 ...

  8. [Python] iupdatable包:日志模块使用介绍

    一.说明 日志模块是对 logging 模块的单例封装 特点: 可同时向控制台和文件输出日志,并可选择关闭其中一种方式的输出: 集成colorlog,实现根据日志等级不同,控制台输出日志颜色不同: 灵 ...

  9. 3L-最好、最坏、平均、均摊时间复杂度

    关注公众号 MageByte,设置星标点「在看」是我们创造好文的动力.后台回复 "加群" 进入技术交流群获更多技术成长. 本文来自 MageByte-青叶编写 上次我们说过 时间复 ...

  10. Python之locust踩坑指北

    坑点1:locust安装报错 其中一种情况:error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visua ...