把平均数写出来,发现就是一个斜率公式。容易证明上凸点一定不是最优解,所以我们用单调队列维护下凸序列。
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,l;
double sum[N],k,ans;
struct node{
double x,y;
};
把平均数写出来,发现就是一个斜率公式。容易证明上凸点一定不是最优解,所以我们用单调队列维护下凸序列。
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,l;
double sum[N],k,ans;
struct node{
double x,y;
};