cf 798c Mike and gcd problem

机械臂速成小指南(七):从旋转矩阵到齐次变换——机械臂位姿的数学表达 本文详细介绍了机械臂位姿描述的数学基础,包括旋转矩阵、欧拉角和齐次变换等核心概念。通过解析旋转矩阵的几何意义和合成方法,以及欧拉角的直观描述,帮助读者理解机械臂位姿的数学表达。文章还探讨了齐次变换在工程实践中的应用,并提供了数值稳定性、坐标系约定和计算效率等实用建议。 阅读详情

. Mike and gcd problem
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Mike has a sequence A = [a1, a2, ..., an] of length n. He considers the sequence B = [b1, b2, ..., bn] beautiful if the gcd of all its elements is bigger than 1, i.e. .

Mike wants to change his sequence in order to make it beautiful. In one move he can choose an index i (1 ≤ i < n), delete numbers ai, ai + 1 and put numbers ai - ai + 1, ai + ai + 1 in their place instead, in this order. He wants perform as few operations as possible. Find the minimal number of operations to make sequence A beautiful if it's possible, or tell him that it is impossible to do so.

 is the biggest non-negative number d such that d divides bi for every i (1 ≤ i ≤ n).

Input

The first line contains a single integer n (2 ≤ n ≤ 100 000) — length of sequence A.

The second line contains n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 109) — elements of sequence A.

Output

Output on the first line "YES" (without quotes) if it is possible to make sequence A beautiful by performing operations described above, and "NO" (without quotes) otherwise.

If the answer was "YES", output the minimal number of moves needed to make sequence A beautiful.

Examples
input
2
1 1
output
YES
1
input
3
6 2 4
output
YES
0
input
2
1 3
output
YES
1
Note

In the first example you can simply make one move to obtain sequence [0, 2] with .

In the second example the gcd of the sequence is already greater than 1.




#include<iostream>
#include<cstdio>
#include<string.h>
#include<math.h>
#include<string>
#include<map>
#include<set>
#include<vector>
#include<algorithm>
#include<queue>
using namespace std;
const int INF = 0x3f3f3f3f;
const int NINF = 0xc0c0c0c0;
int gcd(int a,int b)
{
    if(b) while((a%=b) && (b%=a));
    return a+b;
}
int main()
{
    int n;
    int num[100005];
    memset(num,0,sizeof(num));
    cin >> n;
    for(int i=0;i<n;i++){
        cin  >> num[i];
    }
    int temp;
    for(int i=0;i<n;i++){
        if(i==0){
            temp = gcd(num[i],num[i+1]);
        }
        else{
            temp = gcd(temp,num[i]);
        }
    }
    if(temp > 1){
        cout << "YES" << endl;
        cout << 0 << endl;
    }
    else{
        int cnt = 0;
        for(int i=0;i<n-1;i++){
            if(num[i]&1==0 && num[i+1]&1==0) continue;
            if(num[i]&1 && num[i+1]&1){
                num[i+1] = num[i]+num[i+1];
                cnt++;
                continue;
            }
            else if(num[i]&1){
                num[i+1] = 2;
                cnt += 2;
                continue;
            }
        }
        if(num[n-1]&1) cnt+=2;
        cout << "YES" << endl;
        cout << cnt << endl;
    }
}



大华 DSS 数字监控系统 itcBulletin SQL 注入漏洞复现 大华 DSs 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。大华 DSS存在SQL注入漏洞,攻击者 pota/services/itcBuletin 路由发送特殊构造的数据包,利用报错注入获取数据库敏感信息。攻击者除了可以利用 SQL注入漏词获取数据库中的信息例如,管理员后台密码、站点的用户人人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限poc验证是否存在漏洞如果你想查询用户名和密码。 阅读详情

相关推荐

CTF密码学奇技淫巧:当Base64遇到ROT13与Atbash

本文深入解析CTF竞赛中Base64、ROT13与Atbash的复合编码技术,提供Python实现与CyberChef可视化处理方案,帮助选手掌握密码学题目的解题技巧。通过NewStarCTF2025实战案例,对比脚本化与可视化工具的优劣,提升Web安全竞赛中的编码处理能力。

weixin_29001683的博客 508

C - Mike and gcd problem /* CodeForces - 798C */

C. Mike and gcd problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike has a sequenceA = [a1, a2, ....

b123103603070256的博客 208

华为HCIA-Datacom实战:200人企业园区网从规划到部署全流程解析

本文详细解析了华为HCIA-Datacom认证实战中200人企业园区网的规划与部署全流程。从需求分析、组网架构设计到设备选型、VLAN划分及安全策略实施,全面覆盖园区网建设的关键环节,特别针对部门隔离、无线覆盖和基础安全防护等典型场景提供可落地的解决方案。

f0g1h2的博客 710

C. Mike and gcd problem

C. Mike and gcd problem题意:​ 定义一种beautiful数列,满足gcd(b1,b2,···,bn) > 1.​ 现在给出一个数列A,有一种操作:对ai操作,使得a[i] = ap[i]-a[i+1],a[i+1] = a[i]+a[i+1]​ 问最少多少次操作使得题中满足beautiful。思路:​ 数学题就多思考,有公式的情况下向公式思考。根据操作的方法

Since_natural_ran 409

WSL2离线安装Ubuntu终极指南:绕过Microsoft Store慢速下载(附最新22.04 LTS离线包)

本文提供WSL2离线安装Ubuntu 22.04 LTS的完整指南,帮助开发者绕过Microsoft Store下载慢的问题。通过PowerShell命令配置环境、获取离线安装包并完成安装,同时包含初始配置、资源优化及常见问题解决方案,助您快速搭建高效的Linux开发环境。

c8d9e0f1的博客 899

知识见闻 - Salesforce公司发展史

不过,通过将自己开发的产品与公司收购的其它云产品进行结合,Salesforce可以为用户提供更多的产品种类,Salesforce可以继续强化自己的平台和产品套件属性,这一平台和套件的发展规模已经远远超出了一个单一的CRM的规模。他们围绕一个相对简单的产品向用户兜售云的概念,然后,他们开始开发其它产品,并寻找培育一个不断增长的生态系统的方法,最理想的情况是能驱动Salesforce的营收增长。现在,Salesforce通过打造更多的用例并改进自己产品的方式来直接应对竞争对手的竞争,从而捍卫自己现在的地位。

guoqx的专栏 1449

Codeforces-798C-Mike and gcd problem(贪心+数论)

题目链接:Codeforces-798C-Mike and gcd problem  因为d|ad|a &amp;&amp; d|bd|b -&gt; d|(ax+by)d|(ax+by)  d|(a−b)d|(a−b) &amp;&amp; d|(a+b)d|(a+b) -&gt; d|2ad|2a &amp;&amp; d|2bd|2b 所以要将 gcd(ai)=1gcd(ai)=1 转化成 ...

c_czl的博客 218

基于Python的彭博社新闻高效爬取实战:最新技术与完整代码解析

本文将详细介绍如何使用Python最新技术构建一个高效的彭博社(Bloomberg)新闻爬虫系统。我们将从爬虫基础概念讲起,逐步深入到高级反反爬技术、异步抓取、数据解析与存储等核心环节。文章包含完整的代码实现,采用最新的aiohttp、Playwright等技术栈,并特别关注法律合规性和数据质量保障。通过本文,读者将掌握一个完整的商业新闻爬虫开发流程,并能够根据实际需求进行定制化开发。关键词:Python爬虫、彭博社、Bloomberg、新闻采集、aiohttp、Playwright、反反爬技术。

2201_76125261的博客 1503

C. Mike and gcd problem(思维+数论+dp/贪心好题)

https://codeforces.com/problemset/problem/798/C 题意:给定一个数列,可以进行以下的操作,选相邻两个数进行x-y,x+y的操作。问最少多少次使得整个序列gcd>1; 思路: 模拟可以发现最多两次就可以出gcd==2的两个数。 而且如果原来就gcd!=1,是不会通过1次变成gcd>1的; 假设t|x,t|y--->t|ax+by;因此如果1次后gcd可以>1,原来就可以>1。因此不会发生这样事。 我们继续...

代码笔记本 413

1.2、基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

XU157303764的博客 2911

芒果YOLOv5改进55:损失函数篇之KLD:即插即用 芒果首发原创新颖|全网唯一更新KLD改进博客,通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框,提升YOLOv5小目标

YOLOv5改进KLD损失函数:即插即用 原创新颖|芒果专栏独家首发

包括YOLOv5、YOLOv7、YOLOv8等模型改进 663

洛谷 CF798C Mike and gcd problem

嗯... 题目链接:https://www.luogu.org/problemnew/show/CF798C 这道题首先要会写gcd..也类似一种找规律吧... 问题的操作是在两个数的基础上进行的: 那么我们不妨只考虑两个数的操作,手写几组数据不难发现,所有写出来的两个数A.B,都会在至多两次操作内完成任务。那么我们可以考虑其性质: 两个数A.B.无非...

weixin_30435261的博客 189

基于射频技术的校园无人超市管理系统_360

本设计实现了一种基于射频技术的校园无人超市管理系统,系统集成了环境监测与商品管理两大核心模块。在环境监测部分,采用DHT11温湿度传感器与MQ2烟雾传感器对超市内部环境进行实时监测,结合温控与报警机制,实现自动通风与烟雾报警功能,并通过1.44寸SPI LCD显示屏进行本地信息显示。商品管理部分基于RC522-RFID读卡器完成商品识别,结合Qt上位机软件实现顾客自助选购与结算,同时支持管理员进行商品入库与会员卡管理等操作。系统采用STM32F103RCT6为主控核心,结合串口通信方式与Qt开发的上位机进行

374

CF798 C. Mike and gcd problem

1 /* 2 CF798 C. Mike and gcd problem 3 http://codeforces.com/contest/798/problem/C 4 数论 贪心 5 题意:如果一个数列的gcd值大于1,则称之为美丽数列 6 给出数列a,可以将a_i 和 a_(i+1)换为其差和其和 7 如果可以变为美丽数列,输出Y...

dianan9456的博客 225

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CF --- 798 C Mike and gcd problem 【思维】

传送门 //题意给定一个序列, 问最少操作几次可以使这个序列的GCD大于1. 每次操作是指选取一个数a[i], 删去a[i]和a[i+1]. 并替换成a[i] - a[i-1], a[i] + a[i+1]. //思路: 首先分析是可以知道的一定会输出YES, 因为当全部都是偶数时就一定可以啊, a[i] - a[i-1], a[i] + a[i+1]这个操作一定是可以将奇数变成偶数的, 最多

Anxdada -- 我等风来也等你 617

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

CF798C Mike and gcd problem

思路: 首先如果数列的最大公约数大于1,直接输出即可。 否则,设对原数列中的ai和ai+1进行一次操作,分别变为ai- ai+1和ai+ ai+1。设新数列的最大公约数为d,则由于d|(ai- ai+1)并且d|(ai+ ai+1)得到d|(2ai)且d|(2ai+1)。则d|gcd(a1, a2, ..., 2ai, 2ai+1, ai+2, ..., an)|2gcd(a1, a2...

weixin_30633949的博客 178

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[CF798C] Mike and gcd problem(规律,gcd)

题目链接:http://codeforces.com/contest/798/problem/C 题意:给n个数,和一种操作:把a(i)和a(i+1)变成a(i)-a(i+1)和a(i)+a(i+1)。问能不能把整个数列变成gcd>1,能的话输出最少步骤。 贪心地认为假如需要这种操作,那么gcd为2是最好的。 进行操作无非四种情况:奇奇 奇偶 偶奇 偶偶。奇偶和偶奇可以看成一种情况,而...

weixin_30470643的博客 330

CF 798C

传送门 C. Mike and gcd problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike has a seque

twh233的算法blog 696

codeforces 798 C. Mike and gcd problem(贪心+思维+数论)

题目链接:http://codeforces.com/contest/798/problem/C 题意:给出一串数字,问如果这串数字的gcd大于1,如果不是那么有这样的操作,删除ai, ai + 1 并且把ai - a(i + 1), ai + a(i + 1) 放入原来的位置。问是否能够在几步操作后使得串的gcd大于1然后要求最小的操作数。 题解:偶数=偶数*偶数 or ...

awow80285的博客 181

CF Round410 C. Mike and gcd problem

C. Mike and gcd problem 一奇一偶需要两次操作,两个奇数需要一次操作。 798D - Mike and distribution In the beginning, it's quite easy to notice that the condition "2·(ap1 + ... + apk)is greater than the sum of all eleme...

weixin_30487701的博客 177

【codeforces 798C】Mike and gcd problem

【题目链接】:http://codeforces.com/contest/798/problem/C 【题意】 给你n个数字; 要求你进行若干次操作; 每次操作对第i和第i+1个位置的数字进行; 将 a[i]变为a[i]-a[i+1],a[i+1]变为a[i]+a[i+1]; 然后问你能不能通过以上变换使得最后所有元素的gcd>1 【题解】...

168

Codeforces 798C Mike and gcd problem gcd+贪心

点击打开链接 题意:n个数,n1的最少操作次数  若初始d=gcd(a1..an)==1,肯定使用操作,则使用操作后->d|2a[i] d|2a[i+1],可以看出最后的d一定整除偶数,所以n个数必须都为偶数.  问题转化为把n个数变为偶数的最小操作次数 a[i]-a[i+1],a[i]+a[i+1],相邻两个odd需要一次操作,相邻odd,even 需要两次操作 贪心:先处理(odd

Masamiiiiii 1665

CF#798 C. Mike and gcd problem(思维)

C. Mike and gcd problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Mike has a sequence A = [a1, a2, ..

xiaotuji的博客 947

Codeforce:C. Mike and gcd problem

C. Mike and gcd problem time limit per test 2 seconds memory limit per test 256 megabytes Mike has a sequence A = [a 1, a 2, …, a n] of length n. He considers the sequence B = [b 1, b 2, …, b n] beautiful if the gcd of all its elements is bigger than 1,

WeChat:A15047825994 298

C. Mike and gcd problem 数论 + 贪心

Mike has a sequence A = [a1, a2, …, an] of length n. He considers the sequence B = [b1, b2, …, bn] beautiful if the gcd of all its elements is bigger than 1, i.e. . Mike wants to change his sequence ...

loooooog的博客 387
上一篇: hdu2059 龟兔赛跑
下一篇: hdu2062 Subset sequence
mwhybmj
博客等级 码龄10年 8粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值