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

网站制作公司业务员谷歌搜索引擎入口2022

网站制作公司业务员,谷歌搜索引擎入口2022,贵州软件开发 网站开发,网站开发全包C. Dora and C 题目: 思路: 贝祖定理,又忘了,很好的思维题 这一题可以当一个结论来记忆,结论如下 对于一个数 ai 如果我们可以任意次 a -a b -b,那么我们最后一定能得到 ai k * gcd(a,b) 证…

C. Dora and C++

题目:

思路:

贝祖定理,又忘了,很好的思维题

这一题可以当一个结论来记忆,结论如下

对于一个数 ai 如果我们可以任意次 +a -a +b -b,那么我们最后一定能得到 ai + k * gcd(a,b)

证明如下:

我们假设当前数为 c 目标值为 d,那么在 x 次 a 操作 和 y 次 b 操作 后,我们得到的结果就是

c + xa + by = d,注意其中 x 和 y 是整数

那么就是 xa + by = d - c,根据贝祖定理,对于这样的方程,我们有解的条件是 gcd(a,b) | d - c

那么观察上面的方程 d - c 不就是每次的增量吗,因此我们一定可以构造出一个 增量 m,使得 m = k * gcd(a,b),所以我们一定能得到 ai + m 

回到这题,那么由于我们要求 max - min,这里每次只能增加,那我们如何计算呢?

根据上面的结论,我们可以通过无限次的操作使得最后每个 ai 的差距都小于等于 gcd(a,b),所以这题就变成在 每个数 模 完 gcd(a,b) 后的意义下,求 max - min

所以我们可以这样操作,在模完后排序数组,然后我们尝试将每个数都加上 g 后看看新的差值是多少,因为模完后每个数都小于 gcd(a,b),所以我们如果让第一个数加上 g ,那么这个数就会变成最大的数,而最小的数就会变成原来最小的数后面的那个数

比如 1 3 5 6 10 g=11,当1加上11后,12就是最大值,而3变成了最小值

因此我们这样模拟一下即可,注意一开始要初始化答案为最开始的最大值减最小值

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"int gcd(int a, int b)
{return !b ? a : gcd(b, a % b);
}void solve()
{int n, a, b;cin >> n >> a >> b;vector<int> A(n+1);int g = gcd(a, b);for (int i = 1; i <= n; i++){cin >> A[i];A[i] %= g;}sort(A.begin()+1, A.end());int ans = A[n] - A[1];for (int i = 1;i < n;i++){ans = min(ans, A[i] + g - A[i + 1]);}cout << ans << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

http://www.dtcms.com/wzjs/225178.html

相关文章:

  • windows系统的vps网站防攻击智能建站网站模板
  • 车床加工东莞网站建设seo专业培训机构
  • 成都网站建设 今网科技系统推广公司
  • 网站上传图片问题网站服务器信息查询
  • 内丘企业做网站全网霸屏推广系统
  • 建立一个网站需要什么域名查询ip网站
  • 优质做网站公司广点通广告投放平台登录
  • wordpress 平台手机优化专家
  • 郑州科大医院seo查询 站长工具
  • 手机网站如何做才能兼容性各种手机公关服务
  • 怎样浏览被国内封禁的网站全网热搜榜第一名
  • 政府网站集群建设方案哪个搜索引擎最好用
  • 江津区住房和城乡建设委员会网站爱站网关键词挖掘工具站长工具
  • 游戏网站怎么赚钱宣传推广方案
  • 本地建站软件班级优化大师客服电话
  • 门户网站含义阿里云建站费用
  • 制作网站价格不一品牌营销策划是干嘛的
  • 上传网站空间的建站程序怎么删除徐州关键词优化排名
  • 做企业网站流程技能培训学校
  • 制作视频教程百度app优化
  • 论职能网站建设怎样制作一个网站
  • 务川网站建设公司品牌营销策划
  • 网站做端口映射淄博搜索引擎优化
  • 如皋网站建设招标中国最新军事新闻最新消息
  • 靖江做网站b2b免费发布网站大全
  • 沧州做家装的公司网站手机网站怎么优化关键词
  • 注册网站费用明细国内免费域名
  • 金湖建设局网站seo待遇
  • 做网站需要用什么开发软件文案发布平台
  • 做外贸如何选择网站南京seo排名优化