昨天的bc被坑惨了= =

本来能涨rating的大好机会又浪费了。。。大号已弃号

 

A:第一反应是高精度,结果模板找不到了= =,然后现学现卖拍了个java的BigInteger+快速幂,调了好半天不说还TLE。貌似这题就在卡java

实际上尼玛等号两边取log不就完了么。。。

 

B:A题调了半天,开始做B的时候已经没多少时间了。。。

找出了斐波那契数列+前缀和的规律,结果把用矩阵快速幂求斐波那契前n项和的那个梗又忘了

最后out of submit time

 

事实证明还是要多做成套的题,这样才能发现很多平时难以察觉到的问题。

 

-------------------------------------------------

补上AC Code:

A:高你妹妹的高精度

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 #define eps 1e-8
 5 using namespace std;
 6 
 7 int fcmp(double a,double b)
 8 {
 9     double tm=fabs(a-b);
10     if (tm<eps) return 0;   //a==b
11     else
12         return a<b?-1:1;
13 }
14 
15 int a,b,c,d;
16 
17 int main()
18 {
19     while(~scanf("%d%d%d%d",&a,&b,&c,&d))
20     {
21         double aa=log(a),cc=log(c);
22         aa=aa*b;    cc=cc*d;
23         switch (fcmp(aa,cc))
24         {
25             case  0:printf("=\n");
26                     break;
27             case -1:printf("<\n");
28                     break;
29             case  1:printf(">\n");
30                     break;
31         }
32     }
33 
34     return 0;
35 }
View Code

相关文章: