0%

ABC-400-C - 2^a b^2 (使用sqrtl)

思路讲解

赛时想到思路了,也写出来了,但是死活都会WA四个点。

这种问题一般就是转化成二进制想,其实2^a就是二进制下右移a位。

最后靠AI手写了个二分的开方程序过了,这个是在有点离谱,现在在想我的程序为什么会WA。

找到一个博客,说sqrt是有点问题。

https://codeforces.com/blog/entry/107717

利用sqrtl就过了,离谱,floor(sqrt(i))就不行。

其实sqrtl其实是传入参数为long double,那么其实还是精度问题。我直接这么调用其实还有一个自动向下的隐式转换。

https://en.cppreference.com/w/c/numeric/math/sqrt

AC代码

https://atcoder.jp/contests/abc400/submissions/64576953

心路历程(WA,TLE,MLE……)

666