P7868 [COCI2015-2016#2] VUDU

你打开了这道题

你开始学习 OI,你写出了 O(n2)O(n^2) 做法,枚举 llrr,然后前缀和优化。

你上了小学,开始学习转化这题。你考虑对于 1in1 \leq i \leq naiaipa_i \leftarrow a_i -p。然后题目即求区间平均数大于等于 00 的序列。

你上了中学,继续思考这题。你发现 aia_i 转化后可以继续前缀和优化。设 sumi=j=1iajsum_i = \sum \limits_{j=1}^i a_j,即求有多少区间 [l,r][l, r] 满足 sumrsuml1rl+10\dfrac{sum_r - sum_{l-1}}{r-l+1}\geq0

你上了大学,你发现了一个性质,即若 sumrsuml10sum_r - sum_{l-1} \geq 0,那么 sumrsuml1rl+10\dfrac{sum_r - sum_{l-1}}{r-l+1}\geq0,由于 rl+1>0r-l+1>0。问题转化为求有多少区间 [l,r][l, r] 满足 sumrsuml10sum_r - sum_{l-1}\geq0

你读了博士,继续考虑这题。你发现 sumrsuml10sum_r - sum_{l-1} \geq 0 等同于 sumrsuml1sum_r \geq sum_{l-1}

然后这题就结束了,线段树或树状数组等维护逆序对即可。

posted @   HappyBobb  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示