首页 > 其他分享 >LG_P10183 [YDOI R1] Running 题解

LG_P10183 [YDOI R1] Running 题解

时间:2024-04-06 09:11:35浏览次数:33  
标签:LG R1 int 题解 到达 long 偶数 整除 公因数

首先感谢 @jjh20100730 dalao 提供的思路。

这是一道一道简单的数学题。

首先不难发现,起始时间为 \(0\),那么到达每一个超市时的时间必须要能被 \(v\) 整除,注意到题目要求最大,所以是要求 \(a_i\) 的最大公因数。

注意到到达每个超市的时间必须要是偶数,这样的话不满足 \(v\) 是最大公因数的条件,因为如果到达每个商店都是偶数的话,每个 \(a_i\) 都是可以被 \(2\) 整除的,那么这时的最大公因数是 \(2v\),故不满足条件。

继续看条件,注意到把 \(v\) 除以二后,到达每个超市的时间都会 \(\times 2\),满足了偶数时间的条件。但是在 \(v\) 是奇数的情况下,由于 \(v\) 不能被 \(2\) 整除,所以是无解的,所以要在 \(v \bmod 2 = 1\) 的情况下输出 \(-1\)。

让我们来看代码吧!

#include <bits/stdc++.h>
using namespace std;

long long a[(int)(2e6 + 5)];
int main(){
    int n;
    cin >> n;
    
    long long v;
    for (int i = 0; i < n; i ++){
        cin >> a[i];
        if (i == 0) v = a[0];
        else{
            v = __gcd(v, a[i]);
        }
    }
    
    if (v % 2 == 1) cout << -1;
    else cout << v / 2;
    return 0; // 撒花!
}

希望审核大大可以通过。

标签:LG,R1,int,题解,到达,long,偶数,整除,公因数
From: https://www.cnblogs.com/mayile/p/18117150/lg_p_10183

相关文章

  • LG_P8728 [蓝桥杯 2020 国 B] 填空问题 题解
    蓝桥杯2020国BP8728题解A题直接写Python暴力一下。Output:563故答案为\(563\)。B题直接写Python暴力一下(欸怎么又来了)。总之就是写一个DFS,枚举每一个向外走,步数\(x\)满足\(x\le2020\)的点就好啦!Output:20312088故答案为\(20312088\)。C题直......
  • CF1827E Bus Routes 题解
    这是一道拥有*3400标签的题目。首先很显然可以将题意中的条件转化为任意两个度数为一的节点都能通过不超过两条路径互相到达。接下来随便取一个度数大于一的节点作为根,如果\(n=2\)直接判掉即可。考虑两个叶子节点能互相到达一定需要满足什么条件,发现两个点通过一条路径能到......
  • [题解]ABC346 补题C~E
    想起上次的ABC346没打,刚才虚拟参赛打了A~D,E题思路有,但是实现方式没选好导致WA了,没能在赛时做出来。写下题解记录一下~C-Σ用求和公式先把\(1\simk\)的和求出来:\(\frac{k(k+1)}{2}\),然后对于\(A\)数组中的元素依次减去就行(注意相同元素不能减\(2\)次)点击查看代码#include<b......
  • P9902 『PG2』模拟最大流 题解
    首先最大流等于最小割,然后就能很容易地想到一个状压dp做法:记\(f_{i,s}\)表示使得前\(i\)个点中,最后\(k\)个点与点\(1\)的联通情况为\(s\)的最小代价。然后考虑下一个点是否联通直接转移即可,然后就做完了。时间复杂度\(\mathcalO(n2^k)\)。参考代码:#include<bits/s......
  • hnswlib hnswalg.h 源码解析
    代码来自:https://github.com/nmslib/hnswlib阅读顺序:内存池结构和管理https://zhuanlan.zhihu.com/p/642713540addPoint(不带level参数)addPoint(带level参数)addPoint用到的其他函数searchKNN和他用到的函数#pragmaonce#include"visited_list_pool.h"#include"......
  • P9058 [Ynoi2004] rpmtdq 题解
    Description给定一棵有边权的无根树,需要回答一些询问。定义\(\texttt{dist(i,j)}\)代表树上点\(i\)和点\(j\)之间的距离。对于每一组询问,会给出\(l,r\),你需要输出\(\min(\texttt{dist(i,j)})\)其中\(l\leqi<j\leqr\)。\(n\leq2\times10^5\),\(q\leq10^6\),\(1\l......
  • 二叉树计算【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-二叉树计算给出一个二叉树如下图所示:6/79\/-26请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。20(7-2+9+6)/\-26\/......
  • 学生重新排队【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-学生重新排队n个学生排成一排,学生编号分别是1到n,n为3的整倍数。老师随机抽签决定将所有学生分成m个3人的小组,n=3*m为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员输入描述:之间无其它组的成员。因此老师决定调整队伍,......
  • 机器学习 Chapter1 绪论
    Chapter1绪论文章目录Chapter1绪论1.1简介1.2常用算法&实际应用1.3历史与应用1.4模型评估与选择1.1简介机器学习定义:​AcomputerprogramissaidtolearnfromexperienceEwithrespecttosomeclassoftasksTandperformanceP,ifit’spe......
  • 题解 CF1942F【Farmer John's Favorite Function】
    萌萌F题,上大分。首先,如下定义\(g(i)\):\(g(1)=\lfloor\sqrt{a_1}\rfloor\);对于所有\(i>1\),\(g(i)=\lfloor\sqrt{g(i-1)+a_i}\rfloor\)。也就是将\(f(i)\)的每一步运算后都向下取整。注意到\(\lfloorf(i)\rfloor=g(i)\)恒成立,于是我们只需要转而求每次修改后\(g(n......