首页 > 其他 > 详细

题解:T103180 しろは的军训列队

时间:2019-10-13 18:07:56      阅读:98      评论:0      收藏:0      [点我收藏+]

技术分享图片

题目链接

solution:

按题目随便假设找到了一个x,它的位置的ap,属性bp

看下图

$$$$$$$$$$$$$$$$|||||P &&&&&&&&&&&&&&&

$:p前,即ai<ap
&:p后,即ai>ap
|:p同,即ai==ap

显然要求解下面的式子


sigma 1~n (ai-x)\*bi

前:(x-a1)*b1+(x-a2)*b2+(x-a3)*b3+......+(x-ap)*bp;

后:(ap+1-x)*bp+1+(ap+2-x)*bp+2+......+(an-x)*bn

展开:

前:b1x-a1b1+b2x-a2b2+b3x-a3b3+......+bpx-apbp

后:ap+1 * bp+1 - bp+1x + ap+2 * bp+2 - bp+2x +.....+ an*bn - bnx

合并:

(b1+b2+..+bp)x-(a1b1+a2b2+a3b3+...+apbp) (1)

(ap+1*bp+1+ap+2*bp+2+...+an*bn)-(bp+1*bp+2+...+bn)x (2)

答案S=(1)+(2)

为了使S最小

两个∑可以前缀后缀预处理O(1)查询

for循环用min确定要找的x就行了,也就是答案

显然数据并非有序,而我们又有序的推证,所以要对数据排序

总最高复杂度就是排序nlogn

O(n(long+q) )q常数

题解:T103180 しろは的军训列队

原文:https://www.cnblogs.com/skkyk/p/11667059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!