大家好,我很久都没来水题解了,昨天我们社团的考试中考了小凯的疑惑这道经典的数论题,但由于大家早已做过Noip2017所以直接拿出公式,一秒过题,但却不能证明,令我痛心,今天我就来写一篇题解,以浇胸中块垒,顺便也解一道Dp+数论。

小凯的疑惑+麦香牛块

简化题目:

小凯的题意大约为

有a,b大于0,gcd(a,b)=1(互质),求最大n,nan+bm,n和m0。

乍一看以为很难,感觉参加的比赛等级不对,不过仔细看还是能做。

网上大部分的题解都是含糊不清的给个a*b-a-b不能被凑出来就Q.E.D了,我怎么看的下去,肯定得来推一推。

首先由于变量较多,先将式子简化,你会发现,如果単由一个数(假如a)凑不出来的数,如果取余a后的余数可以通过bm%a求出且这个数够大那么就可以凑出,那么我们就可以知道他到什么时候就一定能被凑出来了。

即:bm%a能凑出所以余数之后,那么这个数多大呢?

这里又涉及到一个规律,很好证明,不知道他叫什么。即:如果a和b互质,b*k%a的余数遍布0~a-1,每a个不重复,

首先用反证法证明S={0,a,2a,3a,⋯,(b−1)a}为模b的完全剩余系

如果存在ax≡ay(modb),1≤x,y≤b−1,则b|a(x−y),由于a,b互质,b,(x−y)互质,矛盾,因此S模b的余数互不相同.

所以只要an+bm>=(a-1)*b就一定可以凑出,

接着想那最大不能凑出(就是凑不出最后一个凑出的余数)是什么啊

我们假设aq+p=(a-1)b。那么再减一个a(余数仍然为p)不就凑不出来了(他们互质)?

结果为ab-a-b;

Q.E.D

上代码:

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
#define LL long long
#define M 100
#define Mod 2009
LL n,t;
int main(){scanf("%lld %lld",&n,&t);printf("%lld",n*t-n-t);
}

然后是麦香牛块这道题,确实200000000000是很大,但其实你也能发现还是ab-a-b;

由于每个牛块不大,才256最大256*255-255-256,随便背包水过去就好,

上代码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<stack>
#include<algorithm>
using namespace std;
const int M=256*256-256;
void read(int &x)
{x=0;int f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=0-f;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}x*=f;return ;
}
bool dp[M+5];
int n,ans,a;
int main()
{read(n);dp[0]=1;for(int i=1;i<=n;i++){read(a);for(int j=a;j<=M+1;j++)if(dp[j-a])dp[j]=1;}for(int i=0;i<=M+1;i++)if(!dp[i])ans=i;if(ans>M)ans=0;printf("%d",ans);
}

just do it

小凯的疑惑(Noip 提高组 2017 d1 1)+[USACO4.1]麦香牛块Beef McNuggets相关推荐

  1. [NOIp提高组2017]宝藏

    解题思路 初识模拟退火,于是拿这道题练练手 我们指定没有连边的结点连了一条权值为inf的边,成为完全图,避免了不存在的生成树 这样枚举根,然后每一次枚举都跑若干遍模拟退火 初始状态就是一张菊花图,父亲 ...

  2. NOIP 2017 小凯的疑惑 (数学)

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

  3. JZOJsenior5473.【NOIP2017提高组】day1T1小凯的疑惑

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

  4. 【NOIP 2017 提高组 DAY1 T1】小凯的疑惑

    emmm貌似过不了多久就要去考NOIP了,于是我终于开始刷往年的题了 [题目] 题目描述: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有无数个.在不找零的情况下,仅凭这两种 ...

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

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

  6. P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目

    [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目 题目背景 NOIP2017 提高组 D1T1 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每 ...

  7. 【NOIP2017提高组】小凯的疑惑

    小凯的疑惑 题目背景 NOIP2017提高组 DAY1 T1 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无 ...

  8. 信息学奥赛一本通——1899:【17NOIP提高组】小凯的疑惑

    文章目录 1899:[17NOIP提高组]小凯的疑惑 [题目描述] [输入] [输出] [输入样例] [输出样例] [提示] [样例说明] [数据范围] 代码 1899:[17NOIP提高组]小凯的疑 ...

  9. 【提高组NOIP2017】小凯的疑惑(附证明)

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

  10. NOIP2017提高组DayT1小凯的疑惑

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

最新文章

  1. Id选择器和Class选择器
  2. 互联网协议 — TLS — 安全四要素
  3. FFmpeg源代码:avcodec_open2()
  4. centos7 安装 node.js 运行环境、卸载
  5. 关于A+B+C问题4种语言的解决办法,Java、C语言、C++、Python
  6. [转]tomcat6.0下的log4j日志文件配置过程
  7. (68)Vue-cli 目录与文件
  8. android7.0 Jack编译器报错解决
  9. javascript:typeof与instanceof区别
  10. 在 Linux 上使用 Docker 安装 Portainer
  11. HTC全景视频,2D 3D视频播放器下载教程
  12. 树莓派4B全40管脚对应功能示意图
  13. 用Python3抓取并分析猫眼电影TOP100
  14. Windows:在Windows下创建并删除软连接
  15. 我能取得成就的原因和不足之处
  16. vidda系统+android系统,海信电视精简教程,去除电视多余应用,换桌面!
  17. 深度学习中模型攻击与防御(Attack DL Models and Defense)的原理与应用(李宏毅视频课笔记)
  18. GitHub里的MySQL基础架构自动化测试
  19. Android通过OMA获得ESE的CPLC
  20. C++ find函数详解

热门文章

  1. 基本农田卫星地图查询_天地图山东,购房者勘测利器,国产骄傲
  2. 关于在CSDN中写博客时如何插入图片
  3. 昆明市计算机专业职称评定,云南省专业技术人员评聘专业技术职务实施计算机职称考试的通知...
  4. 工作一年的收获与思考
  5. matlab里的pid参数调节,pid调节的方法
  6. ice中间件 java_ICE中间件介绍以及demo
  7. 树莓派控制超声波测距原理及实现
  8. mysql查询IP地址
  9. 论文笔记《ST-GRAT: A Novel Spatio-temporal Graph Attention Network for Accurately Forecasting》
  10. 自定义安装 Microsoft Office 2019 and Active