当前位置: 首页 > ai >正文

A. Row GCD(gcd的基本性质)

Problem - 1458A - Codeforces

思路:

首先得知道gcd的两个基本性质:

   (1)   gcd(a,b)=gcd(a,|b-a|) 

   (2)   gcd(a,b,c)=gcd(a,gcd(b,c))

结合题目所给的a1+bj,a2+bj...... an+bj

根据第一条性质得到:

gcd(a1+bj,a2+bj)=gcd(a1+bj,|a2+bj-a1-bj|)=gcd(a1+bj,|a2-a1|)

同时结合第二条性质 

gcd(a1+bj,a2+bj...... an+bj)=gcd(a1+bj,|a2-a1|,|a3-a1|,......|an-a1|)。

所以我们需要先处理出gcd(|a2-a1|,|a3-a1|,......|an-a1|),再每次与a1+bj进行gcd就可以得到答案了

Code:

void solve()
{int n,m,sum=0;cin>>n>>m;vector<int> a(n),b(m);for(auto &t:a) cin>>t;for(auto &t:b) cin>>t;for(int i=1;i<n;i++) sum=__gcd(sum,abs(a[0]-a[i]));for(int i=0;i<m;i++){cout<<__gcd(sum,a[0]+b[i])<<' ';}
}

http://www.xdnf.cn/news/4749.html

相关文章:

  • C++模板【下篇】— 详解模板进阶语法及模板细节
  • 软考知识点汇总
  • [java八股文][Java并发编程面试篇]场景
  • 基于Java实现(PC)民航订票管理系统
  • 关于Bearer Token
  • System-V 共享内存
  • Java流程控制
  • 果汁厂通信革新利器:Ethernet/IP转CANopen协议网关
  • 为什么跨境电商要了解固定IP?常见疑问解析
  • 算法竞赛进阶指南.次小生成树
  • 同比和环比有什么区别?同比和环比的计算方法
  • Oracle OCP认证考试考点详解083系列12
  • RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
  • C语言 指针(9)
  • 初学者如何获得WordPress技术支持
  • 模拟内存管理
  • 如何添加二级域名
  • Linux操作系统中的通知机制
  • 单片机 + 图像处理芯片 + TFT彩屏 指示灯控件
  • python小记(十四):Python 中 **参数解包:深入理解与应用实践
  • 【java】oop 结课模拟题版
  • 探索大语言模型(LLM):硅基流动+Cherry studio免费白嫖Qwen3模型
  • librosa.load 容易遇到的采样率问题
  • RISC-V入门资料
  • Pyinstaller编译EXE及反编译
  • 在Postman中高效生成测试接口:从API文档到可执行测试的完整指南
  • Linux下的c/c++开发之操作Sqlite3数据库
  • SpringBoot3 + Druid + DynamicDataSource + PgSQL 连接池优化方案
  • Matlab 镍氢电池模型
  • 流批了,低调使用