HDU6025 Coprime Sequence (前缀后缀处理)
2017-08-09 10:54
477 查看
题目链接
题意:
给出N个数,他们的gcd为1,现在要删去一个数,使得余下数的gcd最大,求该gcd值分析:
前缀后缀处理,然后遍历一遍就OK了代码:
const int N = 1e5 + 7; long long a , pre , beh ; long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); } int main() { int T; scanf("%d", &T); while(T--) { int n; scanf("%d", &n); for (int i = 1; i <= n; ++i) scanf("%lld", a +i); pre[1] = a[1]; for (int i= 2; i <= n; ++i) pre[i] = gcd(a[i], pre[i - 1]); beh = a ; for (int i = n - 1; i >= 1; --i) beh[i] = gcd(a[i], beh[i + 1]); int ans = max(pre[n-1], beh[2]); for (int i = 2; i < n; ++i) { ans = max(ans, (int)gcd(pre[i -1], beh[i + 1])); } printf("%d\n", ans); } return 0; }
相关文章推荐
- HDU6025 Coprime Sequence —— 前缀和 & 后缀和
- HDU6025 Coprime Sequence【前缀GCD+后缀GCD】
- HDU6025 Coprime Sequence【前缀GCD+后缀GCD】
- HDU 6025 Coprime Sequence 前缀gcd + 后缀gcd
- HDU 6025 Coprime Sequence(前缀后缀GCD问题)
- HDU - 6025 Coprime Sequence(前缀,后缀,gcd)
- 2017女生赛 1003 Coprime Sequence【前缀后缀维护】
- HDU6025 Coprime Sequence (思路题)
- Coprime Sequence(前后缀最大公约数)
- hdu 6025 Coprime Sequence (前后缀GCD)
- HDU6025 Coprime Sequence
- HDU6025-Coprime Sequence-简单数学
- HDU6025-Coprime Sequence
- hdu6025 Coprime Sequence(2017女生赛)
- HDU 6025 Coprime Sequence (前后缀+GCD)
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- (HDU 6025 女生专场)Coprime Sequence 水题
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- hdu:5805:前缀和后缀NanoApe Loves Sequence
- HDU - 6025 Coprime Sequence(给出一行数,去掉其中一个数,求这行数的最大的最大公约数(gcd)))