昨天的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 }