首页 > 其他分享 >Codeforces Round 825 (Div. 2)——B

Codeforces Round 825 (Div. 2)——B

时间:2023-04-30 14:11:35浏览次数:41  
标签:gcd int cin long Codeforces 825 Div Round

 

 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"
inline int gcd(int a, int b) {
    return b > 0 ? gcd(b, a % b) : a;
}
inline int lcm(int a, int b) {
    return a / gcd(a, b) * b;
}
const int N = 1e5 + 5;
int a[N],b[N];
int main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    int T = 1;
    cin >> T;
    while (T--) {
        int n, jud = 0;
        cin >> n;
        for (int i = 1; i <= n; i++)cin >> a[i];
        a[0] = a[n + 1] = 1;
        for (int i = 1; i <= n + 1; i++) {
            b[i] = lcm(a[i], a[i-1]);
        }
        for (int i = 1; i <= n; i++) {
            if (a[i] != gcd(b[i], b[i + 1]))jud = 1;
        }
        if (jud)cout << "NO" << endl;
        else cout << "YES" << endl;
    }
}

 

标签:gcd,int,cin,long,Codeforces,825,Div,Round
From: https://www.cnblogs.com/zhujio/p/17365217.html

相关文章

  • Codeforces Round 855 (Div. 3)--E
    题意:给定一个k,可以任意次交换满足|i-j|=k或|i-j|=k+1的两个位置的元素很容易发现有区间内的字符是可以任意交换的,但是一个个字符考虑太混乱了(就是这样子把脑袋搞晕了),从左考虑那么(1,n-k)这个区间可以任意交换,从右考虑(k+1,n)这个区间可以任意交换那......
  • Codeforces Round 863 (Div. 3)———E
    题意:给定一个k,问由012356789组成的数字第k大的是多少链接:Problem-E-Codeforces#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;#defineendl"\n"/*思路:k代表在2没有出现4的数字中,第k大的数十进制表示由“0123456789”这九个数组......
  • Codeforces Round 855 (Div. 3)--D
    题意:给定一个字符串,删除其中连续两个字符,问有多少种不同字符串的情况#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;#defineendl"\n"//开始时假设每个点都对答案有贡献,考虑什么时候没有贡献//假如字符串某处出现aba这种//删除ab或者ba最后都是......
  • 总结,从 766 开始(Div2 30)
    3.10A分块B 分数规划,以前没学过C推式子 3.11A推结论,先划分连续段,然后从一个长度>=k的连续段开始操作B推式子C平衡树套线段树(为了节省空间需要把内层线段树改成平衡树)或定期重构+树上差分+动态开点线段树,每个结点上有一棵线段树,每B次操作后向上合并 3.12......
  • CF R868 (div.2)
    A.A-characteristic题意:构造1|-1数列,使数组中两两相乘值为1的对数为k思路:显而易见与1|-1的出现顺序无关,总结规律易知当1数量为2时对数为一,3时对数为3(1+(3-1)),4时对数为6(3+(4-1)),-1同理,数据量较小,枚举个数即可1#include<bits/stdc++.h>23usingnamespacestd;4intans[1......
  • Codeforces 1804H - Code Lock(状压 dp)
    对于一种排列方案,答案显然等于相邻字符在环上对应的劣弧长度之和。然后其实你可能会想到很多状压/折半搜索方法,包括但不限于枚举一半的信息然后折半搜后一半,但稍加思考会发现这些方案都避不开记录元素之间的相对顺序,而但凡涉及到这一点,复杂度都是阶乘起步。因此我们只能另辟蹊......
  • Codeforces 1799H - Tree Cutting(树形 dp)
    思考的时候一直卡在不会在低于\(O(n)\)的时间内储存一个连通块的\(siz\)有关的信息,看了洛谷题解之后才发现我真是个小丑。树形DP。对于一条我们需要操作的边\((i,fa_i)\),我们将其分为保留子树和删除子树两种类型,对于删除子树,我们在判定其是否合法时候改为判定删除的连通块......
  • Codeforces 1815E - Bosco and Particle
    首先,对于每个\(s_i\),我们只用保留其最小周期,证明显然。同时以多个光电门为研究对象显然状态数过多,不方便统计。考虑一下连接不同光电门的纽带是什么:显然是相邻光电门之间的空隙。对于每个光电门\(i\),如果我们只保留\(i\)作为唯一的光电门,那么显然有\(0\to1\)和\(1\to2\)......
  • Educational Codeforces Round 1
    A.TrickySum公式求出1到n的和,然后枚举二等整次幂。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){intn;cin>>n;intsum=(1+n)*n/2;for(inti=1;i<=n;i<<=1)sum-=i......
  • css div上层显示一个div
    CSS position属性来实现div上层显示div。首先,为需要在上层显示的div设置position:absolute,并设置其z-index值大于其他div。然后,为包含这些div的父元素设置position:relative。 <divclass="container"><divclass="overchild"></div></div>说明:container......