题目链接:https://ac.nowcoder.com/acm/contest/625/H

题意:给定n个数(<=1e9)的序列,其中n<=5e5,求该序列所有子序列的对应的gcd对1e9+7取模后的值。

思路:比赛的看错题了,以为是要求n个数任意两个数的gcd的和,怪样例QAQ。。不过就算我没看错题我可能也做不出来。先把n个数的公共gcd求出来,记为com。然后对每个子序列的起点往后求gcd,记为nwa,令 ans=(ans+nw)%Mod; 如果nw=com,就不用再循环了,ans=(ans+(n-j)*com)%Mod。这样做用两层循环也可以过,有点惊讶,n大小可是5e5,但想想之后觉得也没问题,他们的公共gcd--com很可能为1,只要求到1的时候break,复杂度应该会降很多。加上这道题的时间限制为3s,这样做就没问题了。另外我写的时候写太快,不小心把数组开成了5e5大小了,下标从1开始,然后T了,想不懂的是为什么会T,不应该是RE吗。。总之把数组开大一点很重要。

AC代码:

#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
typedef long long LL;inline LL readLL(){LL x=0;int f=0;char c=0;while(!isdigit(c)){f|=c=='-';c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}return f?-x:x;
}LL gcd(LL a,LL b){return b?gcd(b,a%b):a;
}const int Mod=1000000007;
LL n,ans,a[5000005],com;int main(){n=readLL();com=a[1]=readLL();for(int i=2;i<=n;++i){a[i]=readLL();com=gcd(com,a[i]);}for(int i=1;i<=n;++i){LL nw=a[i]; for(int j=i;j<=n;++j){nw=gcd(nw,a[j]);ans=(ans+nw)%Mod;if(nw==com){ans=(ans+(n-j)*com)%Mod;break;}}}printf("%lld\n",ans);return 0;
}

转载于:https://www.cnblogs.com/FrankChen831X/p/10708738.html

2019年华南理工大学程序设计竞赛(春季赛)-H-Parco_Love_GCD相关推荐

  1. 2019年华南理工大学程序设计竞赛(春季赛)

    Problem C 六学家的困惑 https://ac.nowcoder.com/acm/contest/625/C 题解:区间DP 1.对给定的两个字符串按规则以后最大排列(区间DP) 2.反转字符 ...

  2. 数独挑战(牛客网 2019年华南理工大学程序设计竞赛(春季赛))

    链接:https://ac.nowcoder.com/acm/contest/625/E 来源:牛客网 数独是一种填数字游戏,英文名叫 Sudoku,起源于瑞士,上世纪 70 年代由美国一家数学逻辑游 ...

  3. 2019年华南理工大学程序设计竞赛

    目录 C 六学家的困惑(模拟+思维) E 数独挑战(dfs) H Parco_Love_GCD(思维) I 炒股(思维) L 石头剪刀布(水题) C 六学家的困惑(模拟+思维) [题意] 有两个字符串 ...

  4. “景驰科技杯”2018年华南理工大学程序设计竞赛 C Youhane's Undergraduate Thesis (大模拟)

    链接:https://www.nowcoder.com/acm/contest/94/C 大家都知道想从华南理工大学的本科毕业并不是一件简单的事情,作为一名大四即将毕业的学生,优酱正在为她的毕业论文愁 ...

  5. 2018华南理工大学程序设计竞赛 H-对称与反对称

    H-对称与反对称 题目描述 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩 ...

  6. “景驰科技杯”2018年华南理工大学程序设计竞赛 H-对称与反对称(扩展欧几里得求逆元)

    题目链接 题目描述: 给出一个N*N的方阵A.构造方阵B,C: 使得A = B + C.其中 B为对称矩阵,C为反对称矩阵. 对于方阵S中的任意元素,若(S)ij = (S)ji,则称S为对称矩阵 对 ...

  7. “景驰科技杯”2018年华南理工大学程序设计竞赛 A. 欧洲爆破(思维+期望+状压DP)...

    题目链接:https://www.nowcoder.com/acm/contest/94/A 题意:在一个二维平面上有 n 个炸弹,每个炸弹有一个坐标和爆炸半径,引爆它之后在其半径范围内的炸弹也会爆炸 ...

  8. 华南理工网络计算机基础知识,2019年华南理工大学网络教育计算机基础随堂练习第一章...

    2019年华南理工大学网络教育计算机基础随堂练习第一章 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 第一章 计算机基础知识·第 ...

  9. 华工计算机2019毕业生去向,2019届华南理工大学毕业生出路去向如何?

    华南理工大学毕业生出路总体来说还是非常不错的.从2018年华南理工大学的就业质量报告来看,华南理工大学毕业生共计9416人,其中本科毕业生5680人,研究生毕业3736人. 从本科生的就业情况来看,有 ...

  10. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 L-K序列

    埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 L-K序列 链接:https://www.nowcoder.com/acm/contest/91/L 来源:牛客网 题目描述 给一个数组 ...

最新文章

  1. 1080Ti 就搞定最新 SOTA 模型?一个普通研究生勇敢发毕业论文引起热议
  2. mysql raid_DBA们应该知道的RAID卡知识_MySQL
  3. psql切换schema_PostgreSQL教程(二):模式Schema详解
  4. mysql执行代码段_mysql的event schedule 可以让你设置你的mysql数据库再某段时间执行你想要的动作...
  5. varnish构建高速缓存
  6. Vert.x(vertx)发送 HTTP/HTTPS请求
  7. TcpTrace追踪远程服务器的soap信息
  8. 10月全球浏览器份额态势:Chrome领先Firefox7.34%
  9. 2021-7-20 指针:强大而危险的灵魂【C++指针的应用---中下】(炉边小坐)
  10. html中img图片绝对路径时无法正常显示的问题
  11. 《天长地久》写照真实生活为何被影迷埋没不被欣赏
  12. 【docker】三、Permission denied与sudo命令
  13. android显示视频预览
  14. SpringBoot整合——阿里云对象存储(OSS)
  15. 网络舆情监测与分析研判工作如何高效做好的解决方案
  16. 2021-2025年中国LED离线驱动器行业市场供需与战略研究报告
  17. UEA数据集和UCR数据集的处理
  18. 详细的计算机存储层次结构图,必知必会-存储器层次结构
  19. 汉威大厦中智公积金_中智租房支取公积金相关说明
  20. 项目管理之——如何优雅的做好离职交接工作?

热门文章

  1. InputFilter实现EditText文本输入过滤器
  2. Linux内核调试 - 一般人儿我都不告诉他(一)
  3. 如何在 Windows Server 2003 中配置权威时间服务器
  4. 解决Required String parameter xxx is not present异常
  5. Spring Boot Admin 2.3.1 发布,轻量的图形化监控工具
  6. 发送HTTP请求返回415状态码的解决办法
  7. Echarts多条折线图 y轴数值与实际值不符解决方法
  8. 感觉最近有多个机器人给吾博客评论
  9. sofia-sip-ua >= 1.12.12… configure: error: no usable sofia-sip; please install sofia-sip-ua devel pa
  10. VisualStudio VC redist各版本下载链接