P3951 小凯的疑惑

题解

题意也就是求解不能用 ax+by 表示的最大数 ans(a,b,x,y,都是正整数)

给定 a ( =7 ) ,  b ( =3 )

我们可以把数轴非负半轴上的数按照a的剩余类分成a列,如上图

所以 a 的倍数一定可以取到,此时 y=0,那么我们把 a 的倍数这一列划掉

然后我们再考虑 y!=0的情况:

(1)b的倍数一定可以取到,此时 x=0

(2)和b  %a  同余的数字一定可以取到,其实就是确定了 y,then确定了by,加上 a 的倍数

所以我们就可以把 b 的倍数以及和它%a同余的数字划掉,表现在图中,也就是:

把b的倍数那一列划掉

最后总会出现 a 和 b 把数轴上的点(除了仅有的几个点)全部覆盖

问题也就是求这仅有的几个点中最大的那一个

当我们把数轴上的数字分成 a 列时,自然会有一列被 a 划掉

还剩下a-1列要被 b 及其倍数划掉

b每扩大一倍,就会覆盖掉一列  ( 因为大前提保证 gcd(a,b)=1 )

那么当 b 扩大到第a-1倍时,就把剩下的所有数字覆盖了

但是 b*(a-1) 这一列中,b*(a-1)上面的那个数字是一定不会被覆盖的,与它同一行的所有数字都会被覆盖掉,所以这个数字就是要求的最大值

ans = b * ( a-1 ) - a

       = a * b - a - b 

代码

#include<bits/stdc++.h>

using namespace std;

long long a,b;

int main()
{
scanf("%d%d",&a,&b);
printf("%ld\n",a*b-a-b);
return ;
}

P3951 小凯的疑惑的更多相关文章

  1. 2017提高组D1T1 洛谷P3951 小凯的疑惑

    洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...

  2. 洛谷 P3951 小凯的疑惑 找规律

    目录 题面 题目链接 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例: 输出样例: 说明 思路 证明 AC代码 include<bits/stdc++.h> 题面 ...

  3. 题解 P3951 小凯的疑惑

    P3951 小凯的疑惑 数论极菜的小萌新我刚看这题时看不懂exgcd做法的题解,后来在网上找到了一篇博客,感觉代码和推导都更加清新易懂,于是在它的基础上写了题解qwq 分析 两数互质,且有无限个,想到 ...

  4. 2021.07.20 P3951 小凯的疑惑(最大公因数,未证)

    2021.07.20 P3951 小凯的疑惑(最大公因数,未证) 重点: 1.最大公因数 题意: 求ax+by最大的表示不了的数(a,b给定 x,y非负). 分析: 不会.--2021.07.20 代 ...

  5. Luogu [P3951] 小凯的疑惑

    题目详见:[P3951]小凯的疑惑 首先说明:此题为一道提高组的题.但其实代码并没有提高组的水平.主要考的是我们的推断能力,以及看到题后的分析能力. 分析如下: 证明当k>ab-a-b时,小凯可 ...

  6. 洛谷 P3951 小凯的疑惑(数学)

    传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.c ...

  7. 洛谷 P3951 小凯的疑惑

    题目链接 一开始看到这题,我的内心是拒绝的. 以为是同余类bfs,一看数据1e9,发现只能允许O(1)的算法,数学还不太好,做不出来,其实应该打表找规律. 看到网上的题解,如果两个都必须拿,结果一定是 ...

  8. 洛谷P3951 小凯的疑惑 - 数学 /扩展欧几里得

    传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什 ...

  9. P3951小凯的疑惑

    这是2017年提高组的第一题,是一个小学奥数题?听说很多大佬爆零了,我AC了,,, 这个题首先给出两个素数,问取任意个这两个素数之和不可以达到的最大的数是多少?拿到这个题首先很蒙,于是试了试样例,并没 ...

随机推荐

  1. 禁止Steam VR随着虚幻4自动启动

    1.禁止启动UE4的时候启动修改这个文件Program Files\Epic Games\XXXX\Engine\Plugins\Runtime\Steam\SteamVR\SteamVR.uplug ...

  2. List集合复制

    方法一: public static void main(String[] args) { // TODO Auto-generated method stub List<String> ...

  3. IO 理论 SOCK理论

    IO密集型程序 在程序执行过程中存在大量IO操作,而CPU操作较少,消耗CPU较少,运行效率较低CPU(计算)密集型程序 在程序执行中,CPU运算较多,IO操作相对较少(消耗CPU大,运行速度快)IO ...

  4. vim学习(一)

    vim是linux和mac中常用到的编辑器. 其分为4种模式: normal模式:普通模式,浏览作用 insert模式: i(insert)     在当前光标处进行插入 a(append) 在当前光 ...

  5. TAP/TUN浅析

    转:http://www.cnblogs.com/yml435/p/5917628.html 参考链接:https://www.ibm.com/developerworks/cn/linux/1310 ...

  6. 4.安装配置bacula-gui(管理页面)

    1.   安装配置bacula-gui(管理页面) Bacula-gui分为两个部分: Baculum-api可通过OAuth2(开放认证模式)或HTTP认证(用户名和密码)认证提供统一接口服务: B ...

  7. Hadoop_27_MapReduce_运营商原始日志增强(自定义OutputFormat)

    1.需求: 现有一些原始日志需要做增强解析处理,流程: 1. 从原始日志文件中读取数据(日志文件:https://pan.baidu.com/s/12hbDvP7jMu9yE-oLZXvM_g) 2. ...

  8. 记一次idea后台日志乱码解决办法

  9. C# 之 .net core -- 创建项目

    一.新建一个Web 的 应用程序 二.选择项目的基本信息(.net coer 2.2 和带有试图控制器的程序) 这个是类似以MVC的模式,也可以用其他的,总之需要什么选什么 三. 然后既可以看到这样一 ...

  10. 用jquery实现Ping测试网络连接性

    jquery的ping插件://要用的需要明白代码及自己改些地方 (function($) {    $.fn.ping = function(options) {        var opts = ...