B. Restore Modulo

忘了当时怎么乱搞的了~

#include<bits/stdc++.h>using namespace std;
using ll=long long;constexpr int N=200010;int n;
ll a[N],d[N],d0[N];
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int T=1;cin>>T;while(T--){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];if(n==1) {cout<<0<<'\n';continue;}int fg=0;for(int i=2;i<=n;i++)if(a[i]==a[i-1]) fg++;if(fg) {cout<<(fg==n-1?0:-1)<<'\n';continue;}for(int i=2;i<=n;i++) d[i]=a[i]-a[i-1];for(int i=3;i<=n;i++) d0[i]=d[i]-d[i-1];int m=0;for(int i=3;i<=n;i++) m=__gcd(1ll*m,d0[i]);m=abs(m);if(m==0) cout<<0<<'\n';else if(a[1]>=m) cout<<-1<<'\n';else{bool f=1;int c=((a[2]-a[1])%m+m)%m;for(int i=2;i<=n;i++)if((a[i-1]+c)%m!=a[i]) f=0;if(f) cout<<m<<' '<<c<<'\n';else cout<<-1<<'\n';}}return 0;
}

codeforces1484 B. Restore Modulo(数学)相关推荐

  1. B. Restore Modulo

    B. Restore Modulo 题目描述 大意 判断是否存在m和c使数列中的每一个数都满足a[i] = (a[i-1]+c)%m并且a[i]=s%m (s > 0).若不存在则输出-1. 存 ...

  2. B - Restore Modulo

    B - Restore Modulo 题意 思路 昨天晚上这个题被一些小细节卡了,一直没过去,今天早上才发现原来恒定的递减也是可以的就比如5 4 3 2 1,m可以是无穷大的. 题不难. 如果这个数组 ...

  3. Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round) 题解

    文章目录 A. Prison Break B. Restore Modulo C. Basic Diplomacy D. Playlist E. Skyline Photo F. Useful Edg ...

  4. codeforces1553 F. Pairwise Modulo(数学)

    F. Pairwise Modulo 想到了,但又没完全想到..wtcl 首先 pk=pk−1+∑1≤i<kakmodai+∑1≤i<kaimodakp_k=p_{k-1}+\sum_{1 ...

  5. python中mod运算符_Python中的数学运算操作符使用进阶

    Python中对象的行为是由它的类型 (Type) 决定的.所谓类型就是支持某些特定的操作.数字对象在任何编程语言中都是基础元素,支持加.减.乘.除等数学操作. Python的数字对象有整数和浮点数, ...

  6. 【机器学习基础】数学推导+纯Python实现机器学习算法18:奇异值分解SVD

    Python机器学习算法实现 Author:louwill Machine Learning Lab 奇异值分解(Singular Value Decomposition,SVD)作为一种常用的矩阵分 ...

  7. 北邮OJ 884. 16校赛-Average Modulo

    时间限制 5000 ms 内存限制 65536 KB 题目描述 We define function g on an array as: g([a0,a1,⋯,an−1])=(Σn−1l=0al) m ...

  8. 09.snapshot and restore操作

    文章目录 1. es 快照(snapshot)简介 2. 快照(snapshot)的版本兼容 3. 快照(snapshot)仓库 repository 4.基于共享文件系统配置repository 5 ...

  9. 数学狂想曲(三)——统计杂谈, PID算法, 20世纪10大算法, 矩阵向量的积

    http://antkillerfarm.github.io/ 统计杂谈 统计模拟 统计模拟是数理统计中非常有用的工具之一, 它是利用计算机产生某概率模型的随机数,再通过这些随机数来模拟真实模型. 这 ...

最新文章

  1. 深度探索javascript的call和apply面向对象应用
  2. 洛谷P1119 灾后重建
  3. Service Work
  4. Django-cookie的保存以及删除操作
  5. linux打开dc软件,Linux bc/dc命令的初步使用
  6. centos一键清理磁盘空间_docker越来越大,心慌,清理一波吧
  7. windows 服务部署管理
  8. 前端学习(1169):实例数组find
  9. @Transactional和@Async 使用场景
  10. 陕西师范大学计算机学院课表,陕西师范大学数学和信息科学学院课程表.doc
  11. 通达信手机版服务器文件夹,【通达信】通达信的一些目录和系统文件,用法说明。以备查询。...
  12. 斐讯k2p官方固件如何登陆ssh后台
  13. matlab语法——subplot函数
  14. oppor11点击Android,OPPO R11怎么网络共享?OPPO R11三种共享网络设置教程
  15. Ruby 核心技术与实战 36 讲
  16. 玩客云安装mysql_玩客云的使用经验总结
  17. [芭比公主系列][国英双语]芭比之十二芭蕾舞公主 Barbie in The 12 Dancing Princesses
  18. 行人reid ,多个开源地址数据变成 market1501格式合并,附代码,数据地址
  19. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略
  20. 谷歌地图谷歌地图_为您的Google地图增添真实感

热门文章

  1. python choice添加下拉框_自定义Django Form中choicefield下拉菜单选取数据库内容实例...
  2. c语言三目运算符_C语言中的三目运算符是啥?有何用处?
  3. tensorrt轻松部署高性能dnn推理_部署环境之:tensorRT的插件
  4. 计算机技术题目,计算机技术题目.doc
  5. 云付认证已通过可以支付吗_海科融通丨刷新支付日常问题【附交易操作步奏】...
  6. 面试中的网红虚拟DOM,你知多少呢?深入解读diff算法
  7. android环境搭建出错,androidstudio配置环境遇到的各种错误(持续更新中)
  8. java中vi是什么意思_java中的public void是什么意思?
  9. Hibernate与MyBatis对比
  10. 简单dfs序 + 树链剖分