首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
一道GCD问题
7条解析
开通博客写题解
精神病科黄主任
发表于 2021-01-09 22:01:44
A 那么对于最小得k就是(g-a1%g)%g 注意要排序 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+50; ll a[N]; int main(){ int
展开全文
あおいSakura
发表于 2021-01-17 12:39:38
一道GCD问题 题目链接:nowcoder 213804 到主站看:https://blog.csdn.net/weixin_43346722/article/details/112734928 题目大意 有一堆数,你要把他们都加一个尽可能小的数 k,让它们的 gcd 尽可能大。要你输出这个 k 和
展开全文
此在Dasein
发表于 2025-11-17 02:30:55
加同一个数不改变差值 对于任意两个下标 都有 因此,经过加法后的所有数的任何公约数必须同时整除原来的所有差值 。 可实现的 必为差值的最大公约数的约数 记 任何一个满足 的整数 必须整除所有的差值,从而 . 于是可得到的最大可能的 正好是 本身。 如何求出对应的 由于 是
展开全文
自由的风0450
发表于 2025-11-27 13:37:22
#include <iostream> #include<vector> #include<algorithm> using namespace std; typedef long long ll; ll gcd(ll a,ll b){ return b=
展开全文
issue是云哥的小迷×呀
发表于 2021-01-10 20:00:08
传送门 先说结论的做法 差分数组的和原数组相同 因为设原数组的啊为 那么每个数都是的倍数,每个数减去一个的倍数仍然不会改变整体的 那么数组的每个数加上,差分数组只有第一个数会加上去 也就是差分数组的的就是最大的,这样就非常简单 但是我太傻了,开始没想到这个结论^_^ 加上一个使得所有数字的最大,设
展开全文
周康禧
发表于 2025-12-05 11:39:50
#include <bits/stdc++.h> using namespace std; using ll = long long int; using ld = long double; using PII=pair<ll,ll>; using PIII=pair<
展开全文
allkill
发表于 2020-12-26 11:08:25
自己一直用gcd函数,原理都快不记得了,现在写这篇博客来复习一下。比如找200和90的GCD最暴力的办法是一个for循环从2到89,找到最大的i使得200%i==0且90%i==0.上面的办法在时间效率很慢,复杂度为O(n)。下面讲一下辗转相除法的原理。还是200和90为例。先贴个代码。 int G
展开全文
查看本题
查看本题讨论
相关比赛
10743-牛客挑战赛47
进入比赛
33700-21
进入比赛
74509-河南农业大学2024寒假训练数学专题
进入比赛
74738-河南农业大学2024寒假训练数学专题是一场
进入比赛
75249-数学专题补题
进入比赛
等你来战
查看全部
2025年大连海事大学程序设计竞赛
报名截止时间:2025-12-14 17:00
2025年广州大学程序设计竞赛新生赛(同步赛)
报名截止时间:2025-12-14 18:30
牛客周赛 Round 122
报名截止时间:2025-12-14 21:00
牛客练习赛147
报名截止时间:2025-12-20 21:30
牛客2025跨年场
报名截止时间:2026-01-01 00:05
2026牛客寒假算法基础集训营1
报名截止时间:2026-02-03 18:00
2026牛客寒假算法基础集训营2
报名截止时间:2026-02-05 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题