1223: Max Fraction
题目
题目描述
三个数据结构班级A,B,C进行了期末考,助教小明被老师要求找出三个班级分数第二高的同学。于是小明先找出A班最高分,B班最高分,C班最高分,再比较得到三个班最高分。然后小明去掉了最高分,用最高分所在班级次高分替代,重复上述过程。终于他成功找到了三个班级期末考试亚军是小红。说巧不巧,这时小红找到了助教小明,向他请教了一个问题,具体如下
定义分数集合 $S_N={ p/q | p,q \in N^+, 1 <= p < q <= N, gcd(p,q) = 1}$, gcd表示最大公因数. 例如 $S_4={1/2,1/3,2/3,1/4,3/4}$. 问集合 $S_N$ 中第 $K$ 大的数为多少 ?
小明一脸懵逼并希望求助于你。请你帮帮小明。
Tips: 集合 $S_N$是在二维空间上建立的,我们很难在二维空间上直接找到顺序规律。但是如果我们把它拆成若干个一维的序列,例如把所有分母相同的数抽成一个序列,那么这个序列的顺序是显然的,即随着分子的增大而单调递增。于是我们可以将$S_N$拆解成若干个单调有序的序列,想一想如何合并这些序列?
输入格式
第一行: 两个数分别为 $N,K$
输出格式
输出集合 $S_N$ 中第 $K$ 大的数
依次输出分子分母 中间用 / 隔开
样例输入
Sample Input 1
4 2
Sample Input 2
5 5
样例输出
Sample Output 1
2/3
Sample Output 2
1/2
数据范围
输入保证合法 $|S_N| > K$
对于 70% 的数据
$1 <= N,K <= 10^3$
对于 100% 的数据
$1 <= N <= 10^5, 1 <= K <= 5*10^5$
Oops! 本题目还没有解答!
助教老师们编题的速度,已经超过了解题的速度!
OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。
如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!