题意:
输入n条线段,把每条线段变成元线段的一条子线段,使得改变之后所有线段等长,且不相交。输出最大长度。例如有3条线段[2,6],[1,4],[8,12] 则最优方案变成 [3.5, 6] [1,3.5][8,10.5]
输出 5 / 2
分析:
这道题数据有点坑,我用 1e-9作为数据精度过不了 1e-10才过了。
思想是二分。
还有小数转分数的0.0方法
代码:
#include<bits/stdc++.h>
#define LL long long
#define ms(s) memset(s, 0, sizeof(s))
using namespace std;
const int maxn = 1e5 + 10;
const int m = 1e6 + 5;
const double exp1 = 1e-10;
struct Node {
double l, r;
friend bool operator < (const Node& n1, const Node& n2) {
return n1