卡了~卡了就写不下去了~其实是不会~

大牛提醒,答案必定是SUM的因子~细细想了好久,才想通~差距~

因为是所有的和GCD,所以GCD必定整除SUM。。

然后,枚举这些因子,统计前缀和的MOD,看有多少个,最多的便是以它为最大公约数的段数最多的情况。如果存在以它为GCD更多的段数的情况,必定会在前缀和统计时暴露出来。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <cmath>
#include <map>
#define LL long long
using namespace std; const int MAX=2050; int num[MAX];
vector<LL>fac;
LL block[MAX];
map<LL,int>mp;
int n; int slove(LL m){
mp.clear();
LL sum=0;
int res=0;
for(int i=1;i<=n;i++){
sum+=num[i];
mp[sum%m]++;
res=max(res,mp[sum%m]);
}
return res;
} int main(){
while(scanf("%d",&n)!=EOF){
LL sum=0;
fac.clear();
// memset(block,,sizeof(block));
for(int i=1;i<=n;i++){
scanf("%d",&num[i]);
sum+=num[i];
block[i]=1;
}
for(LL i=1;i*i<=sum;i++){
if(sum%i==0){
fac.push_back(i);
if(i!=sum/i) fac.push_back(sum/i);
}
}
sort(fac.begin(),fac.end());
int sz=fac.size();
for(int i=0;i<sz;i++){
int k=slove(fac[i]);
block[k]=fac[i];
}
for(int i=n-1;i>=1;i--){
block[i]=max(block[i+1],block[i]);
}
for(int i=1;i<=n;i++){
printf("%lld\n",block[i]);
}
}
return 0;
}

  

HIHO 16 B的更多相关文章

  1. HIHO 16 C

    树分治.对于一棵子树的根节点,至少有一条边与儿子相连的属于重边.对于一条轻边,它的贡献值是两端子树大小的乘积,所以,重边应该是贡献值最大的一边. 至于要求所有的点,进行深度优先搜索,因为移动一个点只会 ...

  2. hiho一下:Beautiful String

    hiho一下:Beautiful String 记不清这是 hiho一下第几周的题目了,题目不难,不过对于练习编程,训练思维很有帮助.况且当时笔者处于学习算法的早期, 所以也希望刚接触算法的同学能多去 ...

  3. 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误

    1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8   在安装的时候报错: -1ubu1604-amd64.deb 提示: ...

  4. Ubuntu 16.10 安装KolourPaint 4画图工具

    KolourPaint 4画图工具简单实用,可以绘画.视频处理和图标编辑: • 绘画:绘制图表和“手绘” • 视频处理:编辑截图和照片;应用特效 • 图标编辑:绘画剪贴和标识透明化 1.在Ubuntu ...

  5. 真正的汉化-PowerDesigner 16.5 汉化

    一.背景 经常使用PowerDesigner,之前使用15版本,后来16出来后,就一直在使用16,不过一直是英文.一些同事对使用英文版总显示有些吃力. 遍寻百度.必应,都没有找到真正的针对版本16的汉 ...

  6. Win7安装MySQL-5.7.16过程

    1.在C盘新建MYSQL文件夹:2.将mysql-5.7.16-winx64拷贝到C:\MYSQL文件夹下,更名为mysql-5.7.16:3.在mysql-5.7.16目录下,建my.ini文件,内 ...

  7. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码

    不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 ...

  8. 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  9. ABP(现代ASP.NET样板开发框架)系列之16、ABP应用层——数据传输对象(DTOs)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之16.ABP应用层——数据传输对象(DTOs) ABP是“ASP.NET Boilerplate Project ...

随机推荐

  1. cmd执行Java程序

    先创建一个文本,里面内容为 public class hello{ public static void main(String[] arg) { System.out.println("H ...

  2. j建立一个小的servlet小程序

    我们建立一个最简单的servlet程序,这个servelt程序只是单纯的输出helloworld. 步骤如下:如图:在Eclipse中选择新建一个项目,其中选择tomcat project然后点击下一 ...

  3. Linux egrep命令

    Linux egrep命令用于在文件内查找指定的字符串. egrep执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法. e ...

  4. ClouderaManager与CDH

    * ClouderaManager与CDH 集群简述 对于企业而言,一般的集群大小规模大概是如下映射关系: 集群大小 小:10~30节点 中:100~300节点 大:1000+节点 对应所需的zook ...

  5. js的toFixed解惑

    js中的toFixed,C#中的Math.round都是按照银行家算法的定义来算的,这里只拿js作参考,各个浏览器的计算方式并不一样,先看一张图,对比参数很容易就发现了其中的不同之处: 前三个Chro ...

  6. Scala-基础-变量与常量

    import junit.framework.TestCase import org.junit.Test //变量 //var 代表变量 //val 代表常量 //关键字 class,extends ...

  7. 【转】Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对HashMap进行学习.我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括:第1部分 HashMap介绍第2部分 HashMa ...

  8. 五分钟学习React(五):React两种构建应用方式选择

    经过这四期的讲解,我们从Hello World应用入手,解释了React最重要的概念JSX,以及两种不同模式的应用构建方法.这一讲我们着重对比传统模式和新模式下的React项目构建,从而为初学者提供学 ...

  9. jquery ajax在IE9以下进行跨域请求时无效的问题

    第一步:设置浏览器安全属性,启用[通过域访问数据源]选项: 1.选择Internet选项 2.选择安全---自定义级别 3.找到其他---通过域访问数据源,选择启用,然后确定就可以了. 第二步:调用a ...

  10. css3 绘制书本

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...