HDU6025 Coprime Sequence (思路题)
来源:互联网 发布:网页设计什么软件 编辑:程序博客网 时间:2024/06/06 12:54
Coprime Sequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 785 Accepted Submission(s): 411
Problem Description
Do you know what is called ``Coprime Sequence''? That is a sequence consists ofn positive integers, and the GCD (Greatest Common Divisor) of them is equal to 1.
``Coprime Sequence'' is easy to find because of its restriction. But we can try to maximize the GCD of these integers by removing exactly one integer. Now given a sequence, please maximize the GCD of its elements.
``Coprime Sequence'' is easy to find because of its restriction. But we can try to maximize the GCD of these integers by removing exactly one integer. Now given a sequence, please maximize the GCD of its elements.
Input
The first line of the input contains an integer T(1≤T≤10) , denoting the number of test cases.
In each test case, there is an integern(3≤n≤100000) in the first line, denoting the number of integers in the sequence.
Then the following line consists ofn integers a1,a2,...,an(1≤ai≤109) , denoting the elements in the sequence.
In each test case, there is an integer
Then the following line consists of
Output
For each test case, print a single line containing a single integer, denoting the maximum GCD.
Sample Input
331 1 152 2 2 3 241 2 4 8
Sample Output
122
Source
2017中国大学生程序设计竞赛 - 女生专场
Recommend
jiangzijing2015 | We have carefully selected several similar problems for you: 6032 6031 6030 6029 6028
题意
n个数,最大公约数为一,求去掉一个数,求出最大公约数
思路
从左往右,找出前几个数的最大公约数 gleft[i]
从右往左,找出后几个数的最大公约数 gright[i]
遍历,去掉第i个数时,这最大公约数为gleft[i-1]+grigh[i+1]
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<math.h>const int maxn=100010;using namespace std;int g[maxn];int gleft[maxn];int gright[maxn];int _gcd(int a,int b){ return a==0?b:_gcd(b%a,a);}int main(){ int t,n,maxnn; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&g[i]); if(i==1) gleft[i]=g[i]; else gleft[i]=_gcd(gleft[i-1],g[i]); } for(int i=n;i>0;i--) { if(i==n) gright[i]=g[i]; else gright[i]=_gcd(gright[i+1],g[i]); } maxnn=0; for(int i=1;i<=n;i++) { if(i==1) maxnn=max(maxnn, gright[2]); else if(i==n) maxnn=max(maxnn,gleft[n-1]); else maxnn=max(maxnn,_gcd(gleft[i-1], gright[i+1])); } printf("%d\n",maxnn); } return 0;}
阅读全文
0 0
- HDU6025 Coprime Sequence (思路题)
- HDU6025 Coprime Sequence (前缀后缀处理)
- HDU6025-Coprime Sequence
- HDU6025 Coprime Sequence
- HDU6025-Coprime Sequence-简单数学
- hdu6025 Coprime Sequence(2017女生赛)
- HDU6025 Coprime Sequence【前缀GCD+后缀GCD】
- HDU6025 Coprime Sequence —— 前缀和 & 后缀和
- Coprime Sequence(优化)
- Coprime Sequence
- Coprime Sequence
- Coprime Sequence(前后缀最大公约数)
- HDU6205 Coprime Sequence
- HDU 6025 Coprime Sequence
- hdoj 6025 Coprime Sequence
- HDU 6025 Coprime Sequence
- Coprime Sequence HDU
- hdu 6025 Coprime Sequence
- selenium java环境搭建
- kali2017.4添加国内更新源
- Androidstudio和Eclipse ADT引入Fresco
- springmvc 配置swagger ui 生成接口文档
- Python :替换空格
- HDU6025 Coprime Sequence (思路题)
- 模拟实现string 增删查改 比较大小
- idhttp 发送数据格式
- 集合中遍历元素并删除个别元素
- poj 1733 Parity game (类似于HDU 3038可放一起做)
- FX3/CX3 DMA Overview
- Hadoop MapReduce执行过程实例详解
- TI zigbee match and bing
- 用Nginx反向代理Apache