题目大意

$n$($1\le n\le 2000$)个正整数 $a_1, a_2, \dots, a_n$($a_i\le 5\times 10^7$)分布在一个圆环上。
定义 $b_k$ 为:将环上的数划分成 $k$ 段,每段上的数之和的 GCD 的最大值。
求 $b_1, b_2, \dots, b_n$ 。

解法

首先,不难看出, $b_k$ 是 $n$ 个数之和 (记做 $S$)的约数。
考虑到 $S$ 的约数并不多($2\sqrt{n}$ 是很松的上界,并且往往 $n$ 越大这上界越松),从而可以考虑枚举 $S$ 的约数 $d$,问题转化为

这 $n$ 个数最多能分成几段,使得每段数之和都能被 $d$ 整除。

算法一

枚举分段的起始位置 $i$,以 $i$ 为序列起点求前缀和,看前缀和中有几个能被 $d$ 整除。
复杂度 $O(n^2)$

算法二

不必枚举分段的起点。
对输入序列求前缀和。
按模 $d$ 的余数将 $n$ 个前缀和分类,用 std::unordered_map<int,int>,记录每个类中有多少个前缀和。
最大的类的 size 即为所求。

复杂度 $O(n\log n)$

这个做法应该是老套路了,我却不知道,我太菜了。TAT

转载于:https://www.cnblogs.com/Patt/p/8408956.html

hihoCoder #1246 王胖浩与环相关推荐

  1. hihocoder 1246 王胖浩与环

    题意: 给出一个环,环上有n(<=2000)个数字(<=5e7),然后将这个环分成1~n个连续序列,各个序列和之间的最大公因数. 题解: 我一开始想到的是二分,然后对于二分就会想怎么che ...

  2. hihoCoder #1246 : 王胖浩与环 (数学)

    题意: 有一个环形序列,可以将其切成连续的k段子序列,那么gcd( 每段子序列的和 )就是优美程度.输出n个整数,表示当k=[1, n] 时的最大优美程度. 思路: 观察一下,当切成1段的时候,gcd ...

  3. HihoCoder 1246:王胖浩与环

    #1246 : 王胖浩与环 时间限制:6000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个环,环上有n个正整数.他有特殊的能力,能将环切成k段,每段包含一个或者多个数字. 对 ...

  4. hiho 挑战赛16 B 王胖浩与环

    因数,前缀和 题意: 给你一个循环数组,你要将它截成k段,然后每段有一个区间和,所有的区间和求gcd,就是优美程度,你要使得优美程度最大.k不是输入的,而是你要输出截1段,2段...n段的最优值 数据 ...

  5. hihocoder王胖浩与三角形【海伦公式+分类讨论】

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能超过l. 他想通过合理地使用他的 ...

  6. HihoCoder 1245:王胖浩与三角形 三角形边长与面积

    #1245 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能 ...

  7. hihoCoder挑战赛16 王胖浩与三角形

    题目1 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能超过 ...

  8. HIHO#1245 : 王胖浩与三角形

    <span style="color: inherit; line-height: 1.1; font-family: 'Helvetica Neue', Helvetica, Ari ...

  9. hihocoder1245 王胖浩与三角形

    #1245 : 王胖浩与三角形 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 王胖浩有一个三角形,三边长为a,b,c.他有特殊的能力,能增加三条边的边长,增加的总长度不能 ...

最新文章

  1. db2 最近三个月_2020.8.11 腰椎微创三个月后
  2. ABAP程序权限对象设定
  3. 输入一个字母,转大小写
  4. webpack打包原理
  5. 从Oracle到PostgreSQL:Storage Index 特性 vs BRIN 索引
  6. 别被忽悠了!我来谈谈大数据平台的4个要点,你们写的都不是干货
  7. React 从入门到进阶之路(二)
  8. Linux基础之bash shell介绍及基本特性
  9. 德标螺纹规格对照表_德标 国标,国际标准中英文对照表
  10. 2022-02-03:有一队人(两人或以上)想要在一个地方碰面,他们希望能够最小化他们的总行走距离。 给你一个 2D 网格,其中各个格子内的值要么是 0,要么是
  11. 资源变现微信小程序安装教程
  12. 理解offset in Python
  13. 【VMware】虚拟机中映射USB设备
  14. Internal Error: Lookup sub table, 'ccmp' Glyph Composition/Decomposition in Arabic lookup 10 context
  15. 【笔记】MATLAB 批量注释/批量取消注释
  16. SQL Server视频
  17. 华为服务器pe下安装linux,华为服务器安装操作系统.docx
  18. C++部署深度学习模型
  19. arduino rc522模块使用
  20. STC15F2K60S2单片机入门:编写头文件

热门文章

  1. 1-13 格式化输出
  2. PDF格式分析(五十九) Color Spaces 颜色空间
  3. 许奔创新社-第25问:创新者的刻意练习怎么做?
  4. R语言画森林图方法4
  5. REXROTH力士乐柱塞泵A10VSO100DRS/32R-VPB12N00
  6. 计算机课会点名吗,网课突然被点名的尴尬,你也懂的吧
  7. 有冗余电源的台式计算机,台式机500w电源是否足够
  8. 3D Touch介绍:电子秤App与快捷操作
  9. 为什么王者荣耀总是服务器中断,王者荣耀服务器突然维护怎么回事?7月3日王者荣耀维护原因补偿...
  10. MM41/MM42/MM43零售物料主数据BAPI创建示例(WRF_MATERIAL_MAINTAINDATA_RT)