链接:https://ac.nowcoder.com/acm/contest/27302/I
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
雯雯沉迷学习数学无法自拔,他在闭关修炼中遇到了难题,聪明的你能帮他解答吗?
现在给你一个NN个数的序列PP,定义XX为这NN个数的最大公因数,你可以进行无限次操作,每次操作选择一组(L,R)(L,R) ( 1 \le L \neq R \le N,P_L\ge1)(1≤L


=R≤N,P
L

≥1),使得P_L-1P
L

−1且P_R+1P
R

+1,每次操作产生新的序列PP。请问所有可能产生的PP对应的XX最多有多少个。AC者可凭RP获得雯雯签名照一张。
定义:AA是序列PP的一个公因数当且仅当序列PP的每一个元素都能被A整除,且A\ge1A≥1。
注意:本题规定任何正整数都是0的公因数。

输入描述:
第一行包含一个数NN,其中2 \le N \le 5002≤N≤500。

第二行为长度为NN的一个序列,其中序列元素PP满足
1 \le P \le 10^{6}1≤P≤10
6

输出描述:
输出包括一个整数,表示所有序列产生的最大公因数的个数。
示例1
输入
复制
3
1 1 2
输出
复制
3
说明
第一次操作,L=1,R=2L=1,R=2,操作后P=0,2,2P=0,2,2,此时PP的最大公因数为22。

第二次操作,L=2,R=3L=2,R=3,操作后P=0,1,3P=0,1,3,此时PP的最大公因数为11。

第三次操作,L=2,R=3L=2,R=3,操作后P=0,0,4P=0,0,4,此时PP的最大公因数为44。

经过若干次操作后,序列PP产生的最大公因数为11,22,44,共33个。

思路 :

  • 记sumsumsum为整个序列和,易知每次操作,sum都不改变
  • 假设操作后的子序列为aaa,x为最大公因数,则一定存在序列kkk,使得∑ai=x∗∑kj\sum{a_i}=x*\sum{k_j}∑ai​=x∗∑kj​
  • 即,sum=x∗∑kisum=x*\sum{k_i}sum=x∗∑ki​,由于sum始终不变,因此求最大公因数的不同数量,也就是x的不同数量,等价于sum的因子数量
#include <iostream>
using namespace std;int main()
{int n; cin >> n;int sum = 0, cnt = 0;for (int i = 1, x; i <= n && cin >> x; i ++ ) sum += x;for (int i = 1; i * i <= sum; i ++ ){if (sum % i == 0){if (i * i == sum) cnt ++ ;else cnt += 2;}}cout << cnt << endl;
}

最大公约数 数学,结论 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛相关推荐

  1. 第八届“图灵杯”NEUQ—ACM程序设计竞赛个人赛(同步赛)

    A题--切蛋糕 龙龙有一块蛋糕,现在他想将蛋糕平均切成k块,分给他的k名hxd.但是不幸的是,因为龙龙不擅长切蛋糕,他每一次只能将一块蛋糕平均分成两份.例如,将一块大小为1的蛋糕分割成两块大小为1/2 ...

  2. 2018年第九届蓝桥杯—C/C++程序设计省赛解题

    2018-4-14 感觉蓝桥杯的风格变了,以前都是暴力搜索类的题目比较多,然而这次并不是- 1.第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意: ...

  3. 第九届蓝桥杯大赛软件类国赛

    文章目录 第九届蓝桥杯大赛软件类国赛 国赛C++ A组 三角形面积 阅兵方阵 找假币 约瑟夫环 -- important 自描述序列 -- todo 采油 -- todo 国赛C++ B组 换零钞 激 ...

  4. 2018省赛第九届蓝桥杯真题C语言B第四题题解 测试次数

    2018第九届蓝桥杯C++省赛B组[最新题解汇总] 标题:测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机 ...

  5. 第九届蓝桥杯(省赛)C++C组真题题解

    文章目录 题目链接 C组真题(剩余题目同B组真题相同,已给出B组真题题目链接) 题目结构 第一题 哪天返回 第二题 猴子分香蕉 第五题 书号验证 第六题 稍小分数 第七题 次数差 第八题 等腰三角形 ...

  6. 使用JavaScript解答2018第九届蓝桥杯C/C++省赛A组试题

    大三时参加过第七届蓝桥杯个人赛及团队赛,转眼已经两年,最近看了看第九届蓝桥杯试题,打算用JavaScript实现一下. 题目1 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ...

  7. 第九届蓝桥杯c/c++A组省赛题解

    分数 题目 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似:3 / 2 当然,这只是加了前2项而已 ...

  8. 第九届蓝桥杯JavaA组(2018年)省赛真题解析

    第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...

  9. 7.python解答2018年第九届蓝桥杯省赛C++A组 分数

    7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...

  10. 第六届“图灵杯”NEUQ-ACM程序设计人赛真题重现

    文章目录 前言 系列文章目录 一.秋季特惠 题目描述 AC代码如下: 二.找工作 题目描述 分析 AC代码如下: 三.购物计划 题目描述 分析 AC代码如下: 四.蟹黄堡的配方 题目描述 分析 AC代 ...

最新文章

  1. java计算机全部代码_(Java)谁有计算器的完整代码?
  2. Hadoop运维记录系列(十二)
  3. Spring注入方法
  4. 1024程序员节 | 我在腾讯自研数据库,我为技术代言
  5. OWASPTop10安全风险与防护
  6. 这些产品大咖的实战心得,学会了可以帮你跨过很多坑
  7. Double.valueOf()与Double.parseDouble()两者的区别
  8. Pytorch——常用的神经网络层、激活函数
  9. ocr带单字坐标离线识别
  10. linux 刷新磁盘分区,linux中关于硬盘分区操作
  11. FinalData 数据恢复工具[绿色版]
  12. 汇编学习从入门到精通
  13. 现代经济中的货币创造
  14. 云算法——骑士在棋盘上的概率之公主当不了堂吉诃德
  15. 移动应用论坛——如何“玩赚”微信
  16. 盒子拖拽效果,原生js实现
  17. dau计算-预测日活
  18. 安恒信息网络空间测绘解决方案:Sumap全球网络空间超级雷达
  19. 红外平行光管ZEMAX光学设计/SOLIDWORKS
  20. html页面统计在线人数,统计在线人数couter

热门文章

  1. 【PP生产订单】入门介绍(七)
  2. 关于ABAP高级顾问应该掌握的技术
  3. 关于SAP的SD的定价公式的资料
  4. Microsoft Office Visio
  5. ERP系统实施过程问题概览
  6. 会计转行SAP FICO实施顾问,百万年薪等你来挑战!
  7. ABAP模块P类型详细解释
  8. 会计记忆总结之一:总论
  9. 通过SUBMIT获取ALV GRID的数据
  10. abap--REUSE_ALV_GRID_DISPLAY事件子过程和cl_gui_grid类的事件对应关系