码迷,mamicode.com
首页 > 其他好文 > 详细

技巧总结

时间:2021-03-06 14:48:08      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:实现   应用   方式   isp   平均值   avg   tar   mat   span   

1.有关平均值的一个技巧

判断一个区间\(a_n~a_m\)的平均值avg是否大于一个数b,可等价为判断前缀和数组中\(s_m\)\(s_{n-1}\)的大小关系

证明:
\(avg = \frac{\displaystyle \sum_{n \ \leq i \ \leq \ m}a[i]}{m - n + 1}\)
\(avg - b = \frac{\displaystyle \sum_{n \ \leq i \ \leq \ m}a[i]}{m - n + 1} - b = \frac{\displaystyle \sum_{n \ \leq i \ \leq \ m}a[i] - (m - n + 1) * b}{m - n + 1}\)
因为\(m - n + 1 > 0\), 所以\(avg\)\(b\)的大小关系等价为\(\displaystyle \sum_{n \ \leq i \ \leq \ m}a[i] - (m - n + 1) * b\)与0的大小关系,即每一个a[i]减去b之后的和与0的关系
区间求和如果采用前缀和的方式,问题又可等价为\(s_m - s_{n-1}\)与0的关系,即\(s_m\)\(s_{n-1}\)的大小关系

应用实例
最佳牛围栏一题中使用该技巧实现了算法的关键优化

技巧总结

标签:实现   应用   方式   isp   平均值   avg   tar   mat   span   

原文地址:https://www.cnblogs.com/G-H-Y/p/14489217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!