ことばがありあまれどなお、 このゆめはつづ|

trsins

园龄:3年10个月粉丝:18关注:2

【做题记录】P2717 寒假作业

  • P2717 寒假作业

    • 算法:cdq 分治

题目:

给定一个长度为 n 的正整数序列 {ai},求出有多少个连续子序列的平均值不小于 k

1n105,1k,ai104

题解:

原式即为

ans=1lrn[i=lraik×(rl+1)]

考虑将每个 ai 减去 k,那么原式变为

ans=1lrn[i=lr(aik)0]

也就是也就是区间和 0 的区间数量。

考虑求前缀和 si=si1+ai,那么对于一个区间 [l,r] 就等价于 sjsi

考虑到 ans=1i<jn[sjsi],那么这是一个显然的二维偏序。(两维分别是 i<j;si<sj

本文作者:trsins

本文链接:https://www.cnblogs.com/trsins/p/15814795.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   trsins  阅读(40)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示