[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) ...
随机推荐
- windows javaee 安装
一. 下载jdk 并安装 二. 配置环境变量 JAVA_HOME:D:\Java\jdk1..0_25 CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt. ...
- Quantitative Startegies for Achieving Alpha(二)
Chapter 3 The Day-To-Day Drivers Of Stock Market Returns Summary: (1) Earning growth is the primary ...
- jmeter测试https请求之导入证书
jmeter测试https请求 公司最近在搞全站HTTPS改造,进一步提高网站的安全性,防止运营商劫持.那么,改造完成后,所有前后端的URL将全部为https. So ,研究下怎么用Jmeter访 ...
- Linux内核设计与实现 总结笔记(第十三章)虚拟文件系统
一.通用文件系统接口 Linux通过虚拟文件系统,使得用户可以直接使用open().read().write()访问文件系统,这种协作性和泛型存取成为可能. 不管文件系统是什么,也不管文件系统位于何种 ...
- 【BZOJ4337】树的同构(树同构,哈希)
题意: 树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树. 对于两个树T1和T2,如果能够把树T1T ...
- #1126-JSP服务器响应
JSP服务器响应 Response响应对象主要将JSP容器处理后的结果传回到客户端.可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie.HTTP文件头信息等. 一个典型的 ...
- 2017ICPC南宁补题
https://www.cnblogs.com/2462478392Lee/p/11650548.html https://www.cnblogs.com/2462478392Lee/p/116501 ...
- IE等浏览器兼容问题解决方案
<meta http-equiv="X-UA-Compatible" content="IE=100" /> 在<head>标签中添加.
- java的基本数据类型有
整型数据根据它所占内容大小的不同可分为4种类型. 数据类型 内存 byte 8位 short 16位 int 32位 long 64位 浮点类型 数据类型 内存 float 32位 double 64 ...
- Deepin 系统安装并配置PHP开发环境
Deepin是由武汉深之度科技有限公司开发的Linux发行版.Deepin团队基于Qt/C++(用于前端)和Go(用于后端)开发了的全新深度桌面环境(DDE),以及音乐播放器,视频播放器,软件中心等一 ...