[2019杭电多校第五场][hdu6624]fraction
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6624
题意为求最小的b满足$a*b^{-1}\equiv x(modp)$.
把式子化简一下:
$a\equiv b*x(modp)$
$a=b*x-p*y$
$\because 0<a<b$
$\therefore 0<b*x-p*y<b$
$0<b*x-p*y\Rightarrow \frac{p}{x}<\frac{b}{y}$
$b*x-p*y<b\Rightarrow \frac{b}{y}<\frac{p}{x-1}$
$\therefore \frac{p}{x}<\frac{b}{y}<\frac{p}{x-1}$
这样题目就转化成求最小的b,y满足上式。
如果当前$[\frac{p}{x},\frac{p}{x-1}]$之间有整数,则$b=\left \lfloor \frac{p}{x} \right \rfloor+1,y=1$。
如果没有则可以辗转相除来递归求解。
例如:p=11,x=7。
$\frac{11}{7}<\frac{b}{y}<\frac{11}{6}$
则化为真分数后在求倒数。
$\frac{6}{5}<\frac{y}{b-y}<\frac{7}{4}$
再次化为真分数后求倒数。
$\frac{4}{3}<\frac{b-y}{2*y-b}<5$
此时[4/3,5]内有整数,则回溯得到答案。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
void f(ll a, ll b, ll c, ll d, ll& x, ll& y){
ll q = a / b + ;
if (q <= c / d){
x = q;
y = ;
return;
}
q--;
a -= q * b; c -= q * d;
f(d, c, b, a, y, x);
x += q * y;
return;
}
int main(){
int t;
scanf("%d", &t);
while (t--){
ll b, y, a, p, x;
scanf("%lld%lld", &p, &x);
f(p, x, p, x - , b, y);
a = b * x - y * p;
printf("%lld/%lld\n", a, b);
}
return ;
}
[2019杭电多校第五场][hdu6624]fraction的更多相关文章
- [2019杭电多校第五场][hdu6630]permutation 2
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6630 题意为求出1-n,n个数的全排列中有多少种方案满足第一位为x,第n位为y,且相邻数字绝对值之差不 ... 
- [2019杭电多校第五场][hdu6629]string matching(扩展kmp)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6629 题意求字符串的每个后缀与原串的最长公共前缀之和. 比赛时搞东搞西的,还搞了个后缀数组...队友一 ... 
- [2019杭电多校第五场][hdu6628]permutation 1
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6628 题意为求字典序第k小的差异数组,差异数组p满足p[i]=a[i+1]-a[i]. 头铁的爆搜,因 ... 
- [2019杭电多校第五场][hdu6625]three arrays(01字典树)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6625 大意为给你两个数组a和b,对应位置异或得到c数组,现在可以将a,b数组从新排序求c数组,使得字典 ... 
- 2019杭电多校第五场 discrete logarithm problem
		https://vjudge.net/contest/317493#problem/I 
- 2018杭电多校第五场1002(暴力DFS【数位】,剪枝)
		//never use translation#include<bits/stdc++.h>using namespace std;int k;char a[20];//储存每个数的数值i ... 
- 2017杭电多校第五场11Rikka with Competition
		Rikka with Competition Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ... 
- 2017杭电多校第五场Rikka with Subset
		Rikka with Subset Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ... 
- hdu6356 Glad You Came 杭电多校第五场 RMQ ST表(模板)
		Glad You Came Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ... 
随机推荐
- <转>ThinkPHP的开发常用系统配置项
			/* 项目设定 */ ’APP_DEBUG’ => false, // 是否开启调试模式 ’APP_DOMAIN_DEPLOY’ => false, // 是否使用独立域名部署项目 ’AP ... 
- css 3D动画
			一.今天让我们来学习一下css 3D吧! 1.首先我们要学习好css3 3d一定要有一定的立体感! 2.再来那就聊聊原理吧! 3.css3 3d 顾名思义是由两个2d名片组成的 但不是让你建立连个2d ... 
- .NET界面控件DevExpress v19.1.3重磅来袭
			DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ... 
- Thymeleaf静态资源引入方式及公共页面代码抽取
			静态资源引入 Thymeleaf模板引擎url问题,要用如下的方式写,确保在任何情况下都能访问到 <!-- Bootstrap core CSS --> <link href=&qu ... 
- Python---进阶---logging---装饰器打印日志
			#### logging - logging.debug - logging.info - logging.warning - logging.error - logging.critical --- ... 
- 《转》tensorflow学习笔记
			from http://m.blog.csdn.net/shengshengwang/article/details/75235860 1. RNN结构 解析: (1)one to one表示单输入单 ... 
- Intraweb IIS发布,数据连接问题
			日前,用IW做了小东西,开始用单独的执行程序发布,一切都没有什么问题,但是发布到正式环境中,用windows IIS发布,怎么也获取不了程序所在的物理路径,而后看了万一的博客,试了一下程序能正常运行, ... 
- JetSonNano darknet yolov3工程通过CMakeLists.txt配置编译环境
			CMakeLists.txt 写的比较糙,有疑问欢迎咨询. option(GPU ON) option(CUDNN ON) option(OPENCV ON) cmake_minimum_requir ... 
- 接口返回buffer的16进制数据如何转换
			我们请求接口数据经常会看到buffer数据,这是我们可以使用data.toString()就可以啦~ 
- word的公式编辑器在插入对象里面!!!!!!!!!!!!!
			word的公式编辑器在 插入->对象 里面!!!!!!!!!!!!! 
