博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HIHO 16 B
阅读量:4704 次
发布时间:2019-06-09

本文共 1089 字,大约阅读时间需要 3 分钟。

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

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

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

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

#include 
#include
#include
#include
#include
#include
#include
#include
#define LL long longusing namespace std;const int MAX=2050;int num[MAX];vector
fac;LL block[MAX];map
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
=1;i--){ block[i]=max(block[i+1],block[i]); } for(int i=1;i<=n;i++){ printf("%lld\n",block[i]); } } return 0;}

  

转载于:https://www.cnblogs.com/jie-dcai/p/4934766.html

你可能感兴趣的文章
Comet OJ - Contest #5 简要题解
查看>>
CF1093G Multidimensional Queries
查看>>
移动端提升页面速度与网站性能
查看>>
ChatSecure
查看>>
中国剩余定理学习笔记
查看>>
深度学习中优化【Normalization】
查看>>
POJ2309BST(树状数组)
查看>>
洛谷P2114 起床困难综合症【位运算】【贪心】
查看>>
Ubuntu+caffe训练cifar-10数据集
查看>>
net 把指定 URI 的资源下载到本地
查看>>
js中 $ 未定义 或者 “xxx”未定义
查看>>
Sublime3插件安装
查看>>
[转]大型网站系统架构的演化
查看>>
非常好的JSUI
查看>>
基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能...
查看>>
python学习0day
查看>>
课堂练习之检测水军
查看>>
函数指针的使用
查看>>
位图数据结构的操作
查看>>
azkaban用户管理及权限配置
查看>>