题解:T103180 しろは的军训列队
Posted skkyk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解:T103180 しろは的军训列队相关的知识,希望对你有一定的参考价值。
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 しろは的军训列队的主要内容,如果未能解决你的问题,请参考以下文章