问题 F: 序列操作Ⅱ
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
给定长度为 N 的正整数序列 A_1, A_2, A_3,…, A_N, 从中选择一个数删除,使剩下数字的最大公约数最大。

求删除后的最大公约数。
输入
第一行是一个数字,表示 N。

第二行是 N 个数。

1 ≤ N ≤ 10^6, 1 ≤ Ai ≤ 10^9

输出
一个数字,表示输出删除后的最大公约数。

样例输入

5
21 13 9 15 12

样例输出

3

提示
/*
我们发现,选择一个数删除都需要算,删除这个数两边的最大公约数。
所以我们可以预处理出前缀最大公约数和后缀最大公约数。
然后一个一个删记录最大答案就OK
*/

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+5;
int a[maxn];
int mp1[maxn];
int mp2[maxn];
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}int main(){ios::sync_with_stdio(false);int n;cin>>n;for(int i = 1; i <= n; i++){cin>>a[i];if(i == 1) //以i结尾的前缀序列最大公约数mp1[i] = a[i];elsemp1[i] = gcd(mp1[i-1],a[i]);}for(int i = n; i > 0; i--){if(i == n) mp2[i] = a[i];//以i开始的后缀序列最大公约数else mp2[i] = gcd(mp2[i+1],a[i]);}int ans = 1;for(int i = 1; i <= n; i++){if(i == 1)ans = max(ans,mp2[i+1]);else if(i == n)ans = max(ans,mp1[i-1]);elseans = max(ans,gcd(mp1[i-1],mp2[i+1]));}cout<<ans<<endl;return 0;}

问题 F: 序列操作Ⅱ(前缀最大公约数,后缀最大公约数)相关推荐

  1. 90个常用词根,30个前缀30个后缀

    英语具有高度的逻辑性和归整的语法,被确认为当今世界国际性交往语言. 英语中许多单词是派生词(其结构通常可以归纳为:前缀+词根+后缀). 常用词根约400个(日常用语90个就够用了),常用前缀约30个, ...

  2. Codeforces D. Cleaning(前缀和、后缀和)

    题目大意 这道题目给我们了 n 堆石头,我们每次选择两堆石子,移走min(a,b),两堆石子减去min(a,b),我们还有一个超能力: (1)在清除石头之前,可以进行一次交换操作(但是只可以进行一次) ...

  3. Python123练习【序列操作,程序控制结构】

    目录 奇数和 一句话有多少个汉字和标点符号 进度条 列表升序及降序 提取首字符 查找指定字符 第K序元素查找 序列操作和程序结构-2 与7无关的数 修改列表 增加补助 比赛评分计算 实例5:身体质量指 ...

  4. 【BZOJ-1858】序列操作 线段树

    1858: [Scoi2010]序列操作 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1961  Solved: 991 [Submit][Stat ...

  5. bzoj 2962 序列操作

    2962: 序列操作 Time Limit: 50 Sec  Memory Limit: 256 MB [Submit][Status][Discuss] Description 有一个长度为n的序列 ...

  6. 前缀表达式与后缀表达式

    前缀表达式与后缀表达式都可以由中缀表达式来转换而成,由于在转化的过程中已经考虑了优先级,所以前缀表达式和后缀表达式的求值直接借助栈就可以,不再有优先级的规则. 中缀表达式转换为前缀表达式和后缀表达式都 ...

  7. 序列操作神器:Seqkit

    导读 本文[1]将介绍 SeqKit :用于 FASTA/Q 文件操作的跨平台和超快工具包,后续提供了一些长用的示例. 1. 安装 conda 安装 conda install -c bioconda ...

  8. seqkit根据基因id_fasta序列操作神器——seqkit

    一.序列操作: 1.取反向序列 seqkit seq test.fa -r > test_re.fa 2.取互补序列 seq test.fa -p > test_com.fa 3.取反向互 ...

  9. 【每日训练】2020/11/8(规律 + 二进制、单调栈 + 前缀和,后缀和、bitset + 枚举)

    整理的算法模板合集: ACM模板 目录 1. NC 打铁的箱子(规律 + 二进制) 2. NC 最优屏障(单调栈 + 前缀和,后缀和) 3. CF993C Careful Maneuvering(bi ...

最新文章

  1. python 列表 随机采样_Python 随机抽样
  2. python中二维数组如何按索引找元素_按索引或坐标访问二维数组中的元素
  3. h5 修改title 微信_微信h5网页自定义分享(标题、描述、图标)
  4. Windows的三种坐标系:屏幕坐标系,非客户区坐标系,客户区坐标系
  5. 怎样用java写一个简单的文件复制程序
  6. linux查找文件命令 要查找包含某字符
  7. java监听com口_简单了解Java接口+事件监听机制
  8. 解决TypeError: string indices must be integers, not str
  9. C#LeetCode刷题之#110-平衡二叉树(Balanced Binary Tree)
  10. [转载] comma.ai自动驾驶代码浅析及实践
  11. JAVA集合Set之HashSet详解_Java基础———集合之HashSet详解
  12. windows安装linux无法启动服务,安装centos后无法引导启动windows7怎么办
  13. 数字图像处理及MATLAB实现实验四——图像变换
  14. 2016年国家公务员考试公告
  15. 泛微协同办公e-cology9.0的Ecode二次开发实例说明
  16. 台电平板(X80HD)刷WIN10
  17. 服务器硬盘如何把硬盘装换到gpt格式化,装GPT硬盘系统的格式转换与diskpart命令使用方法...
  18. 辰星人才 | 旷视实习生鲁盼:UCLA朱松纯准博士,两年七篇顶会论文
  19. 微信公众号开发之用户分组
  20. web渗透-Web服务通信原理

热门文章

  1. win10弹不出密码输入框_电脑互访提示输入网络密码,怎么办?
  2. python画玫瑰图_央视都在用的“南丁格尔玫瑰图”,原来Python也可以画
  3. spark 1.6.0 简单使用
  4. 教你写出可读性高的Python代码
  5. 更改应用程序图标_【iOS12人机交互指南】6.2-应用图标
  6. 反三角函数怎么表示_交流电的功率因数怎么算(里面有例子)
  7. python电子相册制作代码大全_20 行 Python 代码即可制作精美证件照
  8. 安卓开发 登录用户信息缓存_小程序云开发之用户注册登录
  9. mysql生成uui mybatis_mybatis----基础
  10. CentOS7 Change the Sources of yum(刚装完centos后一定要干的事)