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就可以过了)。
- #include <cstdio>
- #include <cstring>
- #include <cmath>
- #include<algorithm>
- #include<iostream>
- using namespace std;
- typedef long long ll;
- ll p2,p1,q2,q1;
- ll a, b, c, d, x, y;
- ll ans=1e18;
- ll Exgcd(ll a, ll b)
- {
- if(b==){ x=, y=;return a;}
- ll r = Exgcd(b, a%b);
- ll tp=x;
- x = y;
- y = tp-a/b*y;
- return r;
- }
- int main()
- {
- cin>>a>>b>>c>>p1>>p2>>q1>>q2;
- d = Exgcd(a, b);
- if(a==&&b==&&c==) printf("0\n");
- if(((a==)&&(b==)&&c) || c%d!= )
- printf("Kuon\n");
- else if(a&&b==){
- if(c%a!=){
- printf("Kuon\n");
- }else{
- ll ta=c/a;
- ll ee=p2*ta*ta+p1*ta;
- cout<<ee<<endl;
- }
- }
- else if(a==&&b)
- {
- if(c%b!=)
- printf("Kuon\n");
- else{
- ll tc=c/b;
- ll eee=q2*tc*tc+q1*tc;
- cout<<eee<<endl;
- }
- }
- else{
- for(int i=-;i<=;i++){
- if((c-a*i)%b==){
- ll iy=(c-a*i)/b;
- ll ac=p2*i*i+p1*i+q2*iy*iy+q1*iy;
- ans=min(ans,ac);
- }
- }
- cout<<ans<<endl;
- }
- return ;
- }
2018 Wannafly summer camp Day2--Utawarerumono的更多相关文章
- 2018 Wannafly summer camp Day8--连通块计数
连通块计数 描述 题目描述: 小 A 有一棵长的很奇怪的树,他由 n 条链和 1 个点作为根构成,第 i条链有 ai 个点,每一条链的一端都与根结点相连. 现在小 A 想知道,这棵长得奇怪的树有多少 ...
- 2018 Wannafly summer camp Day2--New Game!
New Game! 描述 题目描述: Eagle Jump公司正在开发一款新的游戏.泷本一二三作为其员工,获得了提前试玩的机会.现在她正在试图通过一个迷宫. 这个迷宫有一些特点.为了方便描述,我们对这 ...
- 2018 Wannafly summer camp Day8--区间权值
区间权值 小Bo有\(n\)个正整数\(a_1\)--\(a_n\),以及一个权值序列\(w_1\)--\(w_n\),现在她定义\(f(l,r)=(\sum_{i=l}^r a_i^2) *w_{r ...
- 2018 Wannafly summer camp Day3--Shopping
Shopping 描述 题目描述: 你要买n件物品,其中有一些是凳子. 商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品. 你有m辆购物车,请最小化你的花 ...
- 2018 Wannafly summer camp Day3--Travel
Travel 描述 题目描述: 魔方国有n座城市,编号为1~n.城市之间通过n-1条无向道路连接,形成一个树形结构. 澜澜打算在魔方国进行mm次旅游,每次游览至少一座城市.为了方便,每次旅游游览的城市 ...
- 2018 Wannafly summer camp Day3--Knight
Knight 题目描述: 有一张无限大的棋盘,你要将马从\((0,0)\)移到\((n,m)\). 每一步中,如果马在\((x,y)(x,y)\),你可以将它移动到 \((x+1,y+2)(x+1,y ...
- 牛客网补题 New Game!(原Wannafly summer camp day2原题)
思路:这个题在秦皇岛的时候好像没有写出来,反正我是没有写出来,题解是听懂了:把直线和圆都看做一个结点,圆和直线用点到直线的距离与半径差求出来,圆和圆之间用点和点之间的距离和半径差表示,最后最短路跑一遍 ...
- 2019 wannafly winter camp
2019 wannafly winter camp Name Rank Solved A B C D E F G H I J K day1 9 5/11 O O O O O day2 5 3/11 O ...
- 2019 wannafly winter camp day 3
2019 wannafly winter camp day 3 J 操作S等价于将S串取反,然后依次遍历取反后的串,每次加入新字符a,当前的串是T,那么这次操作之后的串就是TaT.这是第一次转化. 涉 ...
随机推荐
- C#学习笔记7
1.重写GetHashCode方法注意点: (1)重写GetHashCode方法,也应重写Equals方法,否者编译器会警告. (2)相等的对象必须有相等的散列码(若a.Equals(b),则a.Ge ...
- js系列之js简介
该系列教程都来源于:廖雪峰老师的博客 JavaScript是世界上最流行的脚本语言,因为你在电脑.手机.平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱 ...
- node.js-cancelled because Node.js is unresponsive
今天初学node.js,但是在使用vs code 进行启动调试的时候出现了一个问题 这个报错,一开始我并不知道是什么意思.(而截至我写这个笔记我也还没了解清楚) 大概翻译出来的意思是说 “node.j ...
- Ubuntu真机安装
Ubuntu真机安装 1.Ubuntu安装: (1)启动盘制作: a.下载启动盘制作工具Universal USB Installe,下载地址: b.下载Ubuntu系统镜像,到本地磁盘,官方下载地址 ...
- .NET开源工作流RoadFlow-表单设计-组织机构选择
组织机构选择即在表单中添加组织机构选择框. 选择范围: 1.发起者部门:只能在发起者同一个部门中选择. 2.处理者部门:只能在当前处理者同一个部门中选择. 3.自定义:自己指定一个选择范围. 选择类型 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述
1.前言 数据生产和数据展示是常见的两大专业级移动GIS应用场景,这里我们针对数据生产环节的ArcGIS的离在线一体化技术给大家做一个基本的介绍和梳理. 使用ArcGIS离在线一体化技术首先需要以下基 ...
- Windows资源管理器对物理内存的描述
对每个进程的虚拟/物理内存使用描述: 1.硬错误/秒:在最后一分钟内每秒出现的平均硬页错误数 2.提交(KB):操作系统为内存保留的虚拟内存量,任务管理器中显示为:提交大小 3.工作集(KB):进程当 ...
- C# 中关于radiobutton控件的使用
在一个Form窗口中定义了3个radiobutton,radioButton1.radioButton2和radioButton3,以及button1和button2(这里可以是其他控件) 为了实现单 ...
- LESS初体验
将一个变量赋值给另一个变量,用引号:@white: 'color-white';,使用另一个变量,需要双@@符号:p {color: @@white;}. 而以这样进行变量的赋值:@white: @c ...
- February 28 2017 Week 9 Tuesday
Time you enjoy wasting, was not wasted. 你乐于挥霍的时间,都不能算作是浪费. A few days ago, I learned a sentence from ...