您的位置:首页 > 教育 > 锐评 > 建设摩托车官网官方网站_凡科网免费建站步骤及视频_如何做好网站的推广工作_大专网络营销专业好不好

建设摩托车官网官方网站_凡科网免费建站步骤及视频_如何做好网站的推广工作_大专网络营销专业好不好

2025/4/3 7:50:01 来源:https://blog.csdn.net/its_a_win/article/details/146959810  浏览:    关键词:建设摩托车官网官方网站_凡科网免费建站步骤及视频_如何做好网站的推广工作_大专网络营销专业好不好
建设摩托车官网官方网站_凡科网免费建站步骤及视频_如何做好网站的推广工作_大专网络营销专业好不好

传送门 0游戏 - 蓝桥云课

有了单调队列,在求解答案时:当我们需要对最大值的列表和最小值的列表进行俩俩组合,如果直接用两个f0r循环进行匹配,那么时间复杂度太大,容易超时。我们可以进行一个推导,假设最大值列表为Ai,最小值为Bi。nA1-B1+..+Bn)+..+nAn.(B1..+Bn)。因为结果是算期望,需要除以n^2,那么上式变为(A1+..+An)-B1+.+Bn)n。


const int N = 1e5 + 10;int n,k;
LL a[N];
int dq[N],hh = 1,tt = 0;
LL L[N],H[N];
LL cnt;void solve()
{cin >> n >> k;for (int i = 1;i <= n;i ++) cin >> a[i];for (int i = 1;i <= n;i ++){while(hh <= tt && dq[hh] < i - k + 1) hh ++;while(hh <= tt && a[dq[tt]] >= a[i]) tt--;dq[++tt] = i;if (i >= k) L[++cnt] = a[dq[hh]];}hh = 1,tt = 0,cnt = 0;for (int i = 1;i <= n;i ++){while(hh <= tt && dq[hh] < i - k + 1) hh ++;while(hh <= tt && a[dq[tt]] <= a[i]) tt--;dq[++tt] = i;if (i >= k) H[++cnt] = a[dq[hh]];}for (int i = 1;i <= cnt;i ++) L[i] += L[i - 1],H[i] += H[i - 1];cout << fixed << setprecision(2) << 1.0 * (H[cnt] - L[cnt]) / cnt << endl;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com