首页 > 其他分享 >B. Playing with GCD

B. Playing with GCD

时间:2022-11-12 16:13:44浏览次数:67  
标签:gcd int IOS cin long MAXN Playing GCD

传送门

题意:
一个长度为n的数组a, \(a_i = gcd(b_i, b_{i + 1})\), 问是否存在这样的b数组能够构成a


思路:
image


总结:
gcd可以推导出lcm的规律,图片中的那个 >= 关系是代表要产生\(a_i\),必须最优是要满足这个关系,但是不一定满足了这个关系就能达成目的

点击查看代码
#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);
#define endl '\n'
using namespace std;

typedef long long ll;
const int MAXN = 1e5 + 10;
int T, n;
int a[MAXN], b[MAXN];

int gcd(int a, int b)
{
    return b == 0 ? a : gcd(b, a % b);
}

int lcm(int a, int b)
{
    return  a * b / gcd(a, b);
}

int main()
{
    IOS; cin.tie(0), cout.tie(0);
    cin >> T;
    while (T--)
    {
        cin >> n;
        for (int i = 1; i <= n; ++i)
            cin >> a[i];
        b[1] = a[1], b[n + 1] = a[n];
        for (int i = 2; i <= n; ++i)
            b[i] = lcm(a[i - 1], a[i]);
        bool flag = true;
        for (int i = 1; i <= n; ++i)
            if (a[i] != gcd(b[i], b[i + 1]))
                flag = false;
        cout << (flag ? "YES" : "NO") << endl;        
    }
    return 0;
}

标签:gcd,int,IOS,cin,long,MAXN,Playing,GCD
From: https://www.cnblogs.com/jumo-xiao/p/16883980.html

相关文章

  • 裴蜀定理、exgcd与有理数取余
    裴蜀定理exgcd之前写得不好所以重写一遍exgcd即扩展欧几里得算法,常用来求\(ax+by=\gcd{(a,b)}\)的一组解。设一组解为\(x_1,y_1\),即\(ax_1+by_1=\gcd{(a,......
  • P6786 「SWTR-6」GCDs & LCMs
    题意:小A有一个长度为\(n\)的序列\(a_1,a_2,\cdots,a_n\)。他想从这些数中选出一些数\(b_1,b_2,\cdots,b_k\)满足:对于所有\(i\(1\leqi\leqk)\),\(b_i\)要么是......
  • 【模板】二元一次不定方程 exgcd
    postedon2022-09-1715:59:26|under模板|sourcecodeLLmod(LLx,LLm){return(x%m+m)%m;}LLexgcd(LLa,LLb,LLc,LL&x,LL&y){ if(!b)returnx=c/a,y=0,a;......
  • Luogu P5435 基于值域预处理的快速 GCD
    最近做这道题的时候被卡常了,然后突然想起来曾经偶然在陈指导的博客看到过这个\(O(1)\)做\(\gcd\)的方法其实理解了之后还是比较简单的,以下设数的值域为\(S\)首先我们定义......
  • HDU5869 Different GCD Subarray Query 离线查询/区间贡献
    题目思路首先,区间收敛到的时间是,那么用维护区间内不同数字的数目的思路解决。预处理所有右端点的集合枚举右端点,加入右端点集合的贡献;如果在加入某个值时发现之前出现过,那么......
  • 裴蜀定理、Exgcd与乘法逆元
    目录裴蜀定理Exgcd扩展欧几里得算法例题:P5656,exgcd模板题裴蜀定理逆元并非对任何数存在……定理:\(ax+by=c\)有解\(\{x,y\}\)当且仅当\(c\)是\(\gcd(a,b)\)的倍......
  • iOS线程 - GCD常见问题
    GCD常见问题1-在主线程中调用方法,如下①执行 testONE后的输出结果:1 5 2 4 31-(void)testONE{23//并发队列4dispatch_queue_t......
  • Codeforces Round #781 (Div. 2) - D. GCD Guess
    GCD+位运算[Problem-1665D-Codeforces](https://codeforces.com/problemset/problem/1627/D)题意交互题,有一个未知数\(x\;(1<=x<=10^9)\),最多有30次询问,每次......
  • SPOJ6059 GCDSQF Another GCD Problem 题解
    题目大意给定两个square-freenumber\(A\)和\(B\)(即没有一个素因子的次数达到\(2\)的数)的01表示形式(即将其有无该素因子排列出来,如\(105=3\times5\times7\),则......
  • P5656 【模板】二元一次不定方程 (exgcd)
    P5656【模板】二元一次不定方程(exgcd)\[ax+by=d\\ax_1+by_1=c\\x_1=\frac{x*c}{gcd(a,b)},y_1=\frac{y*c}{gcd(a,b)}\\对于最小正整数解有:x_1+\lambda\frac{b}{gcd......