HDU 6027 Easy Summation (gcd)
来源:互联网 发布:淘宝买游戏装备流程 编辑:程序博客网 时间:2024/06/02 01:51
思路:
消除冗余操作。
分别从左到右(lef数组)和从右到左(rig数组)进行gcd
然后对于i(从2到n-1),找出gcd(lef[i-1],rig[i+1])最大的值
#include <cstdio>#include <iostream>#include <string.h>#include <queue>#include <algorithm>typedef long long int lli;using namespace std;int a[100020];int lef[100020];int rig[100020];lli gcd(lli a,lli b){ return b==0? a:gcd(b,a%b);}int main(){ int t; cin >> t; int n; int ans; while(t--){ ans = 0; scanf("%d",&n); int temp; for(int i = 1;i <= n;i++){ scanf("%d",a+i); } lef[1] = a[1]; for(int i = 2;i <= n;i++){ lef[i] = gcd(lef[i-1],a[i]); } rig[n] = a[n]; for(int i = n-1;i >= 1;i--){ rig[i] = gcd(rig[i+1],a[i]); } for(int i = 2;i <= n-1;i++){ temp = gcd(lef[i-1],rig[i+1]); ans = max(temp,ans); } ans = max(ans,rig[2]); ans = max(ans,lef[n-1]); printf("%d\n",ans); }}
阅读全文
0 0
- HDU 6027 Easy Summation (gcd)
- HDU 6027 Easy Summation
- HDU 6027 Easy Summation
- HDU 6027 Easy Summation
- HDU 6027 Easy Summation
- (HDU 6027 女生专场)Easy Summation 水题 预处理
- hdoj 6027 Easy Summation
- HDU 6027 Easy Summation【简单相加||快速幂】
- 杭电6027 Easy Summation
- Easy Summation
- Easy Summation
- HDU6027-Easy Summation
- HDU6027 Easy Summation
- HDU6027-Easy Summation-简单数学
- [math][第二阶段-easy math][HDU-2504]又见GCD
- 2017女生赛 1005 Easy Summation【】
- HDU6027 Easy Summation 2017中国大学生程序设计竞赛
- UVALive-7225 Summation and Divisor【Gcd+思维】
- GPU编程资料
- A New General Deep Learning Approach for Natural Language Processing
- PHP大整数乘积
- Redis持久化 (17)
- 第一章安装OpenResty(Nginx+Lua)开发环境
- HDU 6027 Easy Summation (gcd)
- 17.7.3小结、【矩阵快速幂】2017武大校赛I题:A simple math problem即nyoj2333、 bzoj2326
- leetcode 56. Merge Intervals
- redisson client 介绍及优缺点 (18)
- 为什么大多数人的Facebook 付费广告都在亏钱?
- 3211: 花神游历各国
- Redis事务
- 利用递归求n的阶乘
- 第二章 OpenResty(Nginx+Lua)开发入门