SPOJ 3899. Finding Fractions 连分数
连分数乱搞,我反正是一眼没看出结果
某巨巨把这题讲解的比较详细 : http://blog.csdn.net/gogdizzy/article/details/8727386
令k = [a/b] 然后对于a/b < p/q < c/d 就能得到 (a-bk)/b < (p-qk)/q < (c-dk)/d 即 a'/b < p'/q < c'/d ----------------------每项都是<1的
因为显然 a/b < 1 这时如果c/d>1,那么最终结果p = q = 1 也显然的
如果c/d<=1,我们把原不等式倒数一下 ,只需要求 d/c < q/p < b/a 然后就能递归求解满足上式了
因为 d/c < q/p 所以 q > d*p/c 所以 q = q * d / c + 1
最后因为 p > q * a / b 所以 p = q * a / b + 1
LL dfs(LL a , LL b , LL c , LL d)
{
LL k = a/b;
a = a-b*k; c = c-d*k;
if(c > d) return ;
return d*dfs(d,c,b,a)/c+;
}
int main()
{
//freopen("in.txt","r",stdin);
LL a,b,c,d;
while(~scanf("%lld%lld%lld%lld",&a,&b,&c,&d))
{
LL q = dfs(a,b,c,d);
printf("%lld/%lld\n\n",a*q/b+,q);
}
return ;
}
SPOJ 3899. Finding Fractions 连分数的更多相关文章
- SPOJ3899——Finding Fractions
SPOJ上的每个题目都做得我泪牛满面. 这个题目也是的.题目意思是给你两个分数a/b和c/d,要你求出一个分数p/q,使得a/b<p/q<c/d,且p最小. 看完题目后半天都没有任何思路哦 ...
- 2014-2015 ACM-ICPC East Central North America Regional Contest (ECNA 2014) A、Continued Fractions 【模拟连分数】
任意门:http://codeforces.com/gym/100641/attachments Con + tin/(ued + Frac/tions) Time Limit: 3000/1000 ...
- 每日英语:Why Are Fractions Key To Future Math Success?
Many students cruise along just fine in math until fourth grade or so. Then, they hit a wall -- frac ...
- BZOJ 2588: Spoj 10628. Count on a tree [树上主席树]
2588: Spoj 10628. Count on a tree Time Limit: 12 Sec Memory Limit: 128 MBSubmit: 5217 Solved: 1233 ...
- Codeforces Round #384 (Div. 2) C. Vladik and fractions(构造题)
传送门 Description Vladik and Chloe decided to determine who of them is better at math. Vladik claimed ...
- SPOJ DQUERY D-query(主席树)
题目 Source http://www.spoj.com/problems/DQUERY/en/ Description Given a sequence of n numbers a1, a2, ...
- hdu-5992 Finding Hotels(kd-tree)
题目链接: Finding Hotels Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/ ...
- SPOJ GSS3 Can you answer these queries III[线段树]
SPOJ - GSS3 Can you answer these queries III Description You are given a sequence A of N (N <= 50 ...
- 【填坑向】spoj COT/bzoj2588 Count on a tree
这题是学主席树的时候就想写的,,, 但是当时没写(懒) 现在来填坑 = =日常调半天lca(考虑以后背板) 主席树还是蛮好写的,但是代码出现重复,不太好,导致调试的时候心里没底(虽然事实证明主席树部分 ...
随机推荐
- Oracle拾遗
这次学习Oracle视频.还是学到了不少东西的. 首先,这是一次系统的学习.对自己的知识体系是一次查漏补缺,曾经仅仅是简单的会用,如今看到出的问题,非常easy就能够想到是哪一部分出了问题.尤其是如今 ...
- Android——bootchart
bootchart:android原生自带的开机性能查看机制.通过收集android开机过程中的各种log数据,终于能够图表的形式展现各个进程在开机过程中的性能.(博客不能断-) 撰写不易,转载需注明 ...
- Windows cannot find ". Make sure you typed the name correctly, and then try again
https://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/windows-10-explorerexe-error-wi ...
- js数组去重的常用方法总结
最近几天朋友面试了几家,笔试题都做了关于数组去重的问题,自己在网上收集整理了一些去重的方法来学习下,感觉换不错哈!!!第一种方法: function oSort(arr){ var n = []; / ...
- 威联通 移动硬盘路径 /share/USBDisk1
威联通 移动硬盘路径 /share/USBDisk1 cd /share/USBDisk3/Movies
- 03012_预处理对象executeQuery方法(实现数据库的查询)
1.概述 (1)通过预处理对象的executeQuery方法,完成记录的select语句的执行: (2)操作格式统一如下: ①注册驱动: ②获取连接: ③获取预处理对象: ④SQL语句占位符设置实际参 ...
- Mysql学习总结(10)——MySql触发器使用讲解
触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT语句.UPDATE语句和DELETE语句.当数据库系统执行这些事件时,就会激活触发器执行相应的操作.MySQL从5.0.2版本开 ...
- php, hhvm与odp & Unix domain Socket方式
接上一篇,复习一下 启动php或hhvm: php/sbin/php-fpm start hhvm/bin/hhvm_control start 启动nginx或lighttpd: webserver ...
- nyoj 214 单调递增子序列(二) 【另类dp】
单调递增子序列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 ,a2...,an}(0<n<=100000),找出单调递增最长子序列.并求出其长度 ...
- 马上运行函数-$(function(){})篇
QQ:1187362408 欢迎技术交流和学习 马上运行函数-$(function(){})篇(jquery): TODO: 1.jquery:jQuery(function($){ }) 与 $(d ...