2018 Wannafly summer camp Day2--Utawarerumono
Utawarerumono
描述
题目描述:
算术是为数不多的会让久远感到棘手的事情。通常她会找哈克帮忙,但是哈克已经被她派去买东西了。于是她向你寻求帮助。
给出一个关于变量x,y的不定方程ax+by=cax+by=c,显然这个方程可能有多个整数解。久远想知道如果有解,使得p2∗x^2+p1∗x+q2∗y^2+q1∗y最小的一组整数解是什么。为了方便,你只需要输出p2∗x^2+p1∗x+q2∗y^2+q1∗y的最小值。
输入:
第一行三个空格隔开的整数a,b,c(0≤a,b,c≤105)。
第二行两个空格隔开的整数p1,p2(1≤p1,p2≤105)。
第三行两个空格隔开的整数q1,q2(1≤q1,q2≤105)。
输出:
如果方程无整数解,输出``Kuon’’。
如果有整数解,输出p2∗x^2+p1∗x+q2∗y^2+q1∗y的最小值。
样例输入
2 2 1
1 1
1 1
样例输出
Kuon
由于一次项的影响较小,只考虑二次项p2*x^2+q1*y^2=p2*((c-by)/a)^2+q2*y^2,存在一个O(a)的|y|的取值满足c-by是一个a的倍数,
此时|(c-by)/a|是O(c+b)的,这样就得到了一组不超过10^18的解,且答案不会更大。
后发现多项式的值在X的绝对值增加的时候,只有在x<0的时候才会变小,当x<(-p1)/2p2的值仍然会增大,
所以可以暴力枚举x或y的值(1e5就可以过了)。

1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include<algorithm> 5 #include<iostream> 6 using namespace std; 7 typedef long long ll; 8 ll p2,p1,q2,q1; 9 ll a, b, c, d, x, y; 10 ll ans=1e18; 11 ll Exgcd(ll a, ll b) 12 { 13 if(b==0){ x=1, y=0;return a;} 14 ll r = Exgcd(b, a%b); 15 ll tp=x; 16 x = y; 17 y = tp-a/b*y; 18 return r; 19 } 20 int main() 21 { 22 cin>>a>>b>>c>>p1>>p2>>q1>>q2; 23 d = Exgcd(a, b); 24 if(a==0&&b==0&&c==0) printf("0\n"); 25 if(((a==0)&&(b==0)&&c) || c%d!=0 ) 26 printf("Kuon\n"); 27 else if(a&&b==0){ 28 if(c%a!=0){ 29 printf("Kuon\n"); 30 }else{ 31 ll ta=c/a; 32 ll ee=p2*ta*ta+p1*ta; 33 cout<<ee<<endl; 34 } 35 } 36 else if(a==0&&b) 37 { 38 if(c%b!=0) 39 printf("Kuon\n"); 40 else{ 41 ll tc=c/b; 42 ll eee=q2*tc*tc+q1*tc; 43 cout<<eee<<endl; 44 } 45 } 46 else{ 47 for(int i=-100005;i<=100005;i++){ 48 if((c-a*i)%b==0){ 49 ll iy=(c-a*i)/b; 50 ll ac=p2*i*i+p1*i+q2*iy*iy+q1*iy; 51 ans=min(ans,ac); 52 } 53 } 54 cout<<ans<<endl; 55 } 56 return 0; 57 }
(。・∀・)ノ
分类:
WannaflyCamp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架