
gcd
1
1E6
这个作者很懒,什么都没留下…
展开
-
Greatest Common Divisor(差分+gcd)
Greatest Common Divisor 题目链接 大致题意: 给出一个序列,每次操作可以使序列中每个元素加1,问最少进行几次使得gcd(a1,a2,…,an)的值>1,无解输出-1 解题思路: 将序列转换为差分数组,原序列的gcd=差分数组的gcd 每次操作,只有b[1]会发生改变,因此gcd(b2,b3,…bn)的值不变 先求出g=gcd(b2,b3,…bn),然后就是求gcd(b[1]+k,g)>1中的k gcd(b[1]+k,g)>1说明b[1]+k和g有大于1的公共因子,枚原创 2021-05-07 15:04:54 · 357 阅读 · 0 评论 -
Utawarerumono GCD C++
题目链接: [Utawarerumono] 大致题意: 给出一个关于变量x,y的不定方程ax+by=c,若无解,输出Kuon,若有解,找到满足p* *x2+p1* x+q2* y2+q1* y最小解的一组,输出p* *x2+p1* x+q2* y2+q1* y的值 解题思路: 判断ax+by=c是否有解,无解:c不能整除gcd(a,b)或者a == 0 && b == 0 && c != 0 暴力枚举x,找到满足条件的最小值 AC代码: #include <bit原创 2020-09-02 15:01:37 · 125 阅读 · 0 评论 -
齐神与心美的游戏II GCD
题目链接: [齐神与心美的游戏II] 大致题意: 给出n和k,从n张牌中抽三张,每张牌有一个数字,一张牌可以重复抽,三张牌上的数字加和,问和是k的概率 解题思路: n张牌,每张牌有三种机会,所以总的可能是n3,然后三重循环暴力跑,找和是k的可能,最后gcd。 AC代码: #include <bits/stdc++.h> typedef long long ll; using namespace std; int a[200]; int gcd(int a, int b) { return b原创 2020-09-02 14:44:28 · 304 阅读 · 0 评论