专栏文章

题解:P11659 小夫

P11659题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqcm7x4
此快照首次捕获于
2025/12/04 02:36
3 个月前
此快照最后确认于
2025/12/04 02:36
3 个月前
查看原文
考虑每一个 aya_y 位置对答案的贡献:
cntx,icnt_{x,i} 表示前 ii 个数中 xx 出现的次数,p1x,ip1_{x,i} 为下标小于 ii 的第一个 xx 的下标。
假设询问区间为 [L,R][L,R],令 y=iy=i, ai=2pa_i=2p ,则 aia_i 对答案的贡献为 (cnt4p,p14p,icnt4p,p14p,L)(cnt3p,p13p,Rcnt3p,p13p,i)( cnt_{4p,p1_{4p,i}} -cnt_{4p,p1_{4p,L}})(cnt_{3p,p1_{3p,R}}-cnt_{3p,p1_{3p,i}}) , 展开可得: cnt4p,p14p,icnt3p,p13p,Rcnt3p,p13p,icnt4p,p14p,icnt4p,p14p,Lcnt3p,p13p,R+cnt4p,p14p,Lcnt3p,p13p,icnt_{4p,p1_{4p,i}}cnt_{3p,p1_{3p,R}}-cnt_{3p,p1_{3p,i}}cnt_{4p,p1_{4p,i}}-cnt_{4p,p1_{4p,L}}cnt_{3p,p1_{3p,R}}+cnt_{4p,p1_{4p,L}}cnt_{3p,p1_{3p,i}}
对于区间范围内左侧没有 axa_x ,或右侧没有 aza_zaia_i,它们对答案没有贡献,直接去掉即可。假设去掉部分 aia_i 后剩下了 numnum 个。
于是询问的答案 Ans=cnt3p,p13p,Ri=LRcnt4p,p14p,ii=LRcnt3p,p13p,icnt4p,p14p,inumcnt4p,p14p,Lcnt3p,p13p,R+cnt4p,p14p,Li=LRcnt3p,p13p,iAns= cnt_{3p,p1_{3p,R}}\sum _ {i=L}^R cnt_{4p,p1_{4p,i}}-\sum _ {i=L}^R cnt_{3p,p1_{3p,i}}cnt_{4p,p1_{4p,i}}-num*cnt_{4p,p1_{4p,L}}cnt_{3p,p1_{3p,R}}+cnt_{4p,p1_{4p,L}} \sum _ {i=L}^R cnt_{3p,p1_{3p,i}}
其中 cntx,icnt_{x,i}i=LRcnt4p,p14p,i\sum _ {i=L}^R cnt_{4p,p1_{4p,i}}i=LRcnt3p,p13p,icnt4p,p14p,i\sum _ {i=L}^R cnt_{3p,p1_{3p,i}}cnt_{4p,p1_{4p,i}}i=LRcnt3p,p13p,i\sum _ {i=L}^R cnt_{3p,p1_{3p,i}} 均可以使用前缀和维护, numnum 可以在每次询问时二分求出。本题值域在 2×1052 \times 10^5 范围内,可以开 vector 数组直接存而无需离散化。
均摊下来,时间复杂度 O(n+mlogn)O(n+m logn) ,空间复杂度 O(n)O(n)
这样就做完了,并不需要莫队之类的数据结构。

评论

0 条评论,欢迎与作者交流。

正在加载评论...