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

trsins

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

【做题记录】CF993E Nikita and Order Statistics

  • CF993E\ Nikita\ and\ Order\ Statistics

    • 算法;FFT

题目:

给你一个数组 a1n,对于 k=0n,求出有多少个数组上的区间满足:区间内恰好有 k 个数比 x 小。x 为一个给定的数。

n2×105。值域没有意义。

题解:

bi 表示 ai 是否小于 x,小于则值为 1,否则为 0

b 做一个前缀和,设为 s

所以相当于求对于 k=0n 使 sisj=k(i,j[0,n])

对于 s 数组开个桶 ppi记录 s 中有多少个 i

那么对于 k 来说在 [0,n] 中枚举每一个长度为 k 的区间

ansk=i=0nkpi×pi+k

那么对于这个可以卷积。

fi=pi,gni=pi,将 f,g 卷一下,其卷积设为 hi

i=0nkfi×fi+k=i=0nkfi×gnik=hnk

ansk=hnk

所以将 f,g 一卷就好了。

记得特判一下 k=0

本文作者:trsins

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

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

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