题目
- 给定一个长度为 $n$ 的整数数列,请你计算数列中的逆序对的数量。
- 逆序对的定义如下:对于数列的第 $i$ 个和第 $j$ 个元素,如果满足 $i<j$ 且 $a[i] > a[j]$,则其为一个逆序对;否则不是。
本文题目
:数的三次方根
代码
代码详解浮点数二分模板
#include<iostream>
using namespace std;
int main() {
double x;
cin >> x;
double l = -100000, r = 100000;
while(r - l > 1e-7) {
double mid = (l + r) / 2;
if(mid * mid * mid >= x) r = mid;
else l = mid;
}
printf("%lf", l);
return 0;
}
注意
:注意开三次方根,与开根号不同,开三次方是允许是负数,所以左边界不能是$0$,尽量选一个较小的数
- 开根号的写法
#include<iostream>
using namespace std;
int main() {
double x;
cin >> x;
double l = 0, r = x;
while(r - l > 1e-7) {
double mid = (l + r) / 2;
if(mid * mid >= x) r = mid;
else l = mid;
}
printf("%lf", l);
return 0;
}