acm-(构造、数学、好题)2020ICPC·小米 网络选拔赛第一场 K. Sqrt Approaching

acm-(构造、数学、好题)2020ICPC·小米 网络选拔赛第一场 K. Sqrt Approaching
传送门
一道神仙构造题,首先将题目给的式子化解了,我们能得到 A B < C D < n \frac AB<\frac CD<\sqrt n BA<DC<n n < C D < A B \sqrt n<\frac CD<\frac AB n <DC<BA
以第一个式子为例,由于 C D > A B \frac CD>\frac AB DC>BA,由于 C , D C,D C,D都是正数,不妨设 C D = X n + Y B n + Z , ( X > A ) \frac CD=\frac{Xn+Y}{Bn+Z},(X> A) DC=Bn+ZXn+Y,(X>A),这样一定存在 X , Y , Z X,Y,Z X,Y,Z使得 C D > A B \frac CD>\frac AB DC>BA,不过本题难就难在这个构造上,而现在我们必须让 X n + Y B n + Z < n \frac{Xn+Y}{Bn+Z}<\sqrt n Bn+ZXn+Y<n 才行,由于变量太多了,先让 Y = 0 Y=0 Y=0吧,然后将这个式子我们随便化简一下就得到 X n < B n + Z X\sqrt n<Bn+Z Xn <Bn+Z,然后到这里一般人就没头绪了。

所以关键是我们需要利用一个条件就是 A B < n \frac AB<\sqrt n BA<n ,我们对这个式子变一下:
A B < n ⇒ A < B n ⇒ A 2 < B 2 n ⇒ A 2 ( n − 1 ) < B 2 n ( n − 1 ) . . . . . . . . 别 问 我 为 什 么 要 这 样 乘 , 不 过 题 目 保 证 了 ( n > 2 ) 所 以 n − 1 > 1 , 关 系 一 定 是 对 的 ⇒ A 2 n + B 2 n < ( B n ) 2 + A 2 ⇒ A 2 + B 2 < B 2 n + A 2 n ⇒ A 2 + B 2 + 2 A B < B 2 n + A 2 n + 2 A B ⇒ ( A + B ) 2 < ( B n + A n ) 2 ⇒ A + B < B n + A n ⇒ ( A + B ) n < B n + A \begin{aligned} &\frac AB<\sqrt n\\ &\Rightarrow A<B\sqrt n\\ &\Rightarrow A^2<B^2n\\ &\Rightarrow A^2(n-1)<B^2n(n-1)........别问我为什么要这样乘,不过题目保证了(n>2)所以n-1>1,关系一定是对的\\ &\Rightarrow A^2n+B^2n<(Bn)^2+A^2\\ &\Rightarrow A^2+B^2<B^2n+\frac {A^2}n\\ &\Rightarrow A^2+B^2+2AB<B^2n+\frac{A^2}n+2AB\\ &\Rightarrow (A+B)^2<(B\sqrt n+\frac A{\sqrt n})^2\\ &\Rightarrow A+B<B\sqrt n+\frac {A}{\sqrt n}\\ &\Rightarrow (A+B)\sqrt n<Bn+A \end{aligned} BA<n A<Bn A2<B2nA2(n1)<B2n(n1)........(n>2)n1>1A2n+B2n<(Bn)2+A2A2+B2<B2n+nA2A2+B2+2AB<B2n+nA2+2AB(A+B)2<(Bn +n A)2A+B<Bn +n A(A+B)n <Bn+A
这个形式不正好符合 X n < B n + Z X\sqrt n<Bn+Z Xn <Bn+Z这个式子吗!!!
所以我们可以得出 X = A + B , Z = A X=A+B,Z=A X=A+B,Z=A,再验证下是否满足 C D > A B \frac CD>\frac AB DC>BA,容易发现是满足的(因为 ( A + B ) n B n + A > A + B B + A n , B A n > A B \frac{(A+B)n}{Bn+A}>\frac{A+B}{B+\frac An},\frac B{\frac An}>\frac AB Bn+A(A+B)n>B+nAA+B,nAB>BA)。对于 n < C D < A B \sqrt n<\frac CD<\frac AB n <DC<BA这种情况按照上面的步骤同样能够算出来相同的答案,因此直接高精输出即可。

不过到这里估计大部分人都还是一头雾水(我也一样 ),虽然看上面的推导没有丝毫问题,但总觉得这个构造的过程不可思议,莫名其妙,尤其是令 Y = 0 Y=0 Y=0以及从 A B < n \frac AB<\sqrt n BA<n 推导的这个操作非常的变态,那个乘 n − 1 n-1 n1更是莫名其妙。个人感觉做这种题最重要的就是不断尝试吧,以及寻找数感。
本题代码过于简单,就不贴了,可以直接写python,java也行,估计要慢不少。