NOIP 2017题解(更新ing)
来源:互联网 发布:滚压成型工艺软件 编辑:程序博客网 时间:2024/06/06 05:50
D1T1:小凯的疑惑
题目:求一个最大的正整数c,使得ax+by=c(其中a,b为互质的两个正整数)没有非负正整数解。
正解:(想要直接数学推导的就去找数竞大佬吧。。。下面说说考试时怎么办——“一猜想+两验证”)
①打表找规律(不急,后面有严格证明)
观察不为-1的所有元素可不完全归纳所求最大的c即ab-a-b。
下面是赛后打表验证的代码:
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;typedef long long ll;ll exgcd(ll a,ll b,ll &x,ll &y) {if (!b) {x=1,y=0;return a;}ll d=exgcd(b,a%b,y,x);y-=(a/b)*x;return d;}inline bool judge(ll a,ll b,ll c) {ll x,y,d=exgcd(a,b,x,y);if (c%d) return false;x*=c/d,y*=c/d;ll tmp=b/d;x=(x%tmp+tmp)%tmp;y=(c-a*x)/b;return y>=0&&x>=0;}inline ll gcd(ll a,ll b) {return !b?a:gcd(b,a%b);}int main() {for (int i=1;i<=10;++i) {for (int j=1;j<=10;++j) {if (i==1||j==1||gcd(i,j)>1) {printf("%-3d ",-1);continue;}else {for (int t=1000;t;--t)if (!judge(i,j,t)&&t) {printf("%-3d ",t);break;}}}puts("");}return 0;}②证明c=ab-a-b原方程没有有非负正整数解:
假设有非负正整数解:
令ax+by=ab-a-b
得x=b-1-(1+y)b/a
已知a,b互质,所以a|b不成立,又因为x为正整数所以a|(1+y)
设y+1=ka(k≥1),x=b-1-kb=(1-k)b-1,因为k≥1,所以x<0,与假设矛盾。
所以假设不成立,c=ab-a-b原方程没有非负正整数解。
③证明ab-a-b是最大的c使原方程没有非负整数解:
假设它不是,设ax+by=ab-a-b+t(t为正整数)。
设t=ap+bq,其中p,q为整数(此处不要求为正)
根据exgcd算法的性质(这一点理解后面就容易了):设d=gcd(a,b),由于通解为x=x0+k*(b/d),y=y0+k*(a/d)),所以一定存在一组解(x,y)其中y>0且-b<x≤0
此处ap+bq=t(a,b互质肯定有解),令q>0且-b<p≤0。
现在观察原方程ax+by=ab-a-b+t=(b-1+p)a+(q-1)b,
因为q>0且-b<p≤0,所以b-1+p≥0且q-1≥0。
所以x=b-1+p,y=q-1即为原方程的一组非负整数解,无论t多大都成立。
证毕,下面给出正解代码(自嘲而已)。
#include<cstdio>#include<iostream>using namespace std;typedef long long ll;ll a,b;int main() {//freopen("math.in","r",stdin);//freopen("math.out","w",stdout);cin>>a>>b;cout<<a*b-a-b<<endl;return 0;}
阅读全文
0 0
- NOIP 2017题解(更新ing)
- NOIP 2017 Day1 题解?
- NOIP 2017 Day2 题解?
- 2014年美团校招笔试题解(更新ING……)
- 2016 acm/icpc 沈阳现场赛题解(5道题,更新ing)
- jQuery 学习(更新ing)
- 认识计算机网络(更新ing)
- 数学相关(更新ing)
- noip 2017 d1 t2题解
- 2017NOIP总结(待更新)
- 计蒜客 2017 NOIP 提高组模拟赛(一)题解
- LUOGU P3954题解(NOIP 2017普及组第一题)
- LUOGU P3955题解(NOIP 2017第二题)
- sniffer pro学习小记(更新ing)
- 好书推荐(持续更新ing)
- hibernate 学习汇总(更新ing)
- 纯平滑盖计算器(更新ing)
- linux 进程通信 -- 信号量(更新ing)
- 1435: 盟国(hdu2473)
- android studio快捷键MAC版和Win版
- 网络数据捕获与分析
- idea+spring+springmvc+mybatis+log4j+maven框架搭建 总结
- CodeForces 150A Win or Freeze(素筛+分情况)
- NOIP 2017题解(更新ing)
- AAA在windows上部署Redis系统服务
- SQL注入及防范
- NAND的局限性和使用寿命
- 成绩排序
- 坚持#第235天~哎呀,最近培训云计算忙得都把写博客的大事给忘了,赶快捡起来
- python 界面二
- 聪明的木匠(51nod 1117)
- 学习makefile的一个工程示例