洛谷P3951

看到题目,很容易想到这一题是求使ax+by=c(a,b,c∈N)无非负整数解的最大c

由裴蜀定理可知方程一定有整数解(a,b互素,gcd(a,b)=1|c)

解法一:暴力枚举

看到题目我的第一想法是求出ax+by=1的解然后枚举c使x,y扩大c倍后仍无非负整数解

枚举c应该要从1到a*b……看看数据范围就知道会WA掉4个点

这个解法很傻瓜我就不再赘述了……代码略

期望得分:60

解法二:小学奥数

虽然我不想承认但真**是小学奥数!!

因为a,b,c都>0,所以方程的解最多有一个负数

不妨设y<0,则x≥0

那么对于c=ax+by,y=-1时c取最大值,c=ax-b

接下来我们来看x

事实上0≤x≤b-1

为什么呢?

首先注意到这样一个事实:线性方程ax+by=c的整数解可以表示为{x-kb,y+ka}(k∈Z)

因为当x≤b-1时,一定不存在k∈Z使得x-kb≥0且y+ka≥0

这样可能看着不是很清楚,那么我们再反证一下会更容易明白

当x≥b时,显然x-b≥0且y+a≥0(此时k=1),与假设矛盾,故不成立

这样我们就证明了0≤x小于等于号怎么≤b-1

上面我们得出c=ax-b

那么当x=b-1时c取最大值a(b-1)-b=ab-a-b

综上,当y=-1,x=b-1时c取最大值ab-a-b

有的人可能会说,上面假设的是y<0,那x<0的时候c最大值还是不是ab-a-b呢?

很简单,同理,将x=-1,y=a-1代入,c=-a+b(a-1)=ab-a-b

期望得分:100

AC代码(有必要吗……):

 #include<cstdio>
int main()
{
long long a,b;//a,b足够大时a*b会爆int
scanf("%lld%lld",&a,&b);
printf("%lld",a*b-a-b);
return ;
}

NOIP2017 D1T1 小凯的疑惑的更多相关文章

  1. NOIP2017 D1T1小凯的疑惑

    这应该是近年来最坑的第一题了. 我第一眼看到这题上来就打表,数据范围告诉我复杂度应该是log级的,然而一个小时后才发现是一个输出结论. 设较小数是a 较大数是b 写出几组可以发现一个规律就是一旦出现连 ...

  2. 【NOIP2017】小凯的疑惑

    原题: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价 ...

  3. NOIp D1T1 小凯的疑惑

    吐槽 果然让人很疑惑,这道题,对于我这种数学渣渣来说太不友好了,哪里想得到结论,猜也猜不到. 思路一 纯数学,见过的飞快切掉,没见过的就... 结论就是:已知$a,b$为大于$ 1 $的互质的正整数, ...

  4. loj2314 「NOIP2017」小凯的疑惑[同余最短路or数论]

    这题以前就被灌输了“打表找规律”的思想,所以一直没有好好想这道题,过了一年还不太会qwq.虽然好像确实很简单,但是还是带着感觉会被嘲讽的心态写这个题解...而且还有一个log做法不会... 法1:(一 ...

  5. luogu 3951 小凯的疑惑

    noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...

  6. 【比赛】NOIP2017 小凯的疑惑

    找规律:ans=a*b-a-b 证明:(可见 体系知识) gcd(A, B) = 1 → lcm(A, B) = AB 剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成 任何数分成m ...

  7. 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)

    前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...

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

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

  9. Luogu [P3951] 小凯的疑惑

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

随机推荐

  1. Factory Kit【其他模式】

    Factory Kit public class FactoryKit { /** * Factory Kit:它定义了一个包含不可变内容的工厂,并使用独立的构建器和工厂接口来处理对象的创建. */ ...

  2. Git-Runoob:Git 教程

    ylbtech-Git-Runoob:Git 教程 1.返回顶部 1. Git 教程 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torva ...

  3. spring + springMVC +hibernate 配置2

    这种方式比较精简 配置项不多 spring采用自动扫描配置 ,分spring_springMVC.xml  . hibernate_config.xml 两个文件 web.xml配置如下 <?x ...

  4. 中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机

    期末考试编程题 返回   这是期末考试的编程题 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间之前提交答案,系统将取其中的最高分作为最终成 ...

  5. oracle expdp/impdp/可传输表空间

    oracle expdp/impdp/可传输表空间/及一些参数 Oracle data pump 导出操作能够将表.索引.约束.权限.PLSQL包.同义词等对象从数据库导出,并将它们保存在一种非文本格 ...

  6. php7.2 下安装swoole扩展

    git clone git@github.com:swoole/swoole-src.git phpize ./configure make && make test make ins ...

  7. ARTS-2

    ARTS的初衷 Algorithm:主要是为了编程训练和学习.每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard).进行编程训练,如果不训练你看再多的算法 ...

  8. 6.824 Lab 2: Raft 2A

    6.824 Lab 2: Raft Part 2A Due: Feb 23 at 11:59pm Part 2B Due: Mar 2 at 11:59pm Part 2C Due: Mar 9 at ...

  9. Eclipse."Courier New"字体

    1.Win 7 下eclipse添加Courier New字体 - 彦帅的博客.html(https://blog.csdn.net/theblackbeard/article/details/525 ...

  10. unittest中的断言方法

    方法        用途 assertEqual(a,b)      a=b assertNotEqual(a,b)    a!=b assertTrue(x)     x为True assertFa ...