题意

传送门

给定长度为 \(n\) 的序列 \(a\),求序列 \(f\),满足:

\[f_i=
\begin{equation}
\begin{cases}
0&(i=1)\\
\min\limits_{j=1}^{i-1}\min\limits_{k=j}^ia_k\times(i-j)^2 &(i>1)
\end{cases}
\end{equation}
\]

\(2\le n\le 4\times10^5,1\le a_i\le n\)。

题解

这种样式看起来很适合斜率优化或四边形不等式优化。但尝试后不可行。注意到 \(a_i\le n\) 的条件,尝试从值域下手(根号分治)。

显然转移点 \(j\) 满足 \(i-j\le\frac{n}{\min_{k=j}^ia_k}\)。则若 \(\min_{k=j}^ia_k>\sqrt n\),\(i-j<\sqrt n\)。于是以下考虑 \(\min_{k=j}^ia_k\le\sqrt n\)。

给出一个结论,若 \(\exist t\in(i,j),a_t=\min_{k=j}^ia_k\),则 \(i\) 必不为转移点。证明显然。则若 \(\min_{k=j}^{i-1}a_k=\min_{k=j}^ia_k\),仅有 \(\sqrt n\) 个可能的 \(j\)。

那么仅剩 \(\min_{k=j}^{i-1}a_k>a_i\) 的情况。利用笛卡尔树易证共有 \(n\sqrt n\) 种,均摊 \(\sqrt n\)。于是此题得解。

最新文章

  1. zookeeper_service 出错 ........... are only available on JDK 1.5 and higher
  2. 字符串链接strcat
  3. 二代身份证阅读器(XZX)
  4. HDU 1394 Minimum Inversion Number
  5. dreamvc框架(一)ioc容器的集成
  6. class A&lt;T&gt; where T:class 这个泛型类中的Where T:class什么意思
  7. coding.net解决github上下载速度慢问题
  8. 软件快速开发平台 WebBuilder 6.8
  9. Inno Setup入门(十八)&mdash;&mdash;Inno Setup类参考(4)
  10. v-for 在 VSCode 中出现 Elements in iteration expect to have &#39;v-bind:key&#39; directives.
  11. Codeforces Round #553 (Div. 2) C. Problem for Nazar 数学
  12. [Linux]Linux下Apache服务器配置
  13. java 多线程之:join() 方法
  14. spring boot获取前端参数四种方法
  15. Onject.Instantiate实例
  16. Android多媒体之照相机
  17. 如何写科技论文How to write a technical paper
  18. [leetcode] 3. Pascal&#39;s Triangle
  19. ORACLE中关于 char 和 varchar2 的比较
  20. P4234 最小差值生成树

热门文章

  1. 使用IntelliJ IDEA打开一个项目步骤
  2. 再聊一下那 SQLSERVER 行不能跨页的事
  3. [深度学习] imgaug库使用笔记
  4. Spark通信框架RPC介绍
  5. 手撕AVL树(C++)
  6. [cocos2d-x]关于菜单项
  7. Gvim基础操作-01
  8. 在不使用cv2等库的情况下利用numpy实现双线性插值缩放图像
  9. 从零开始,打造属于你的 ChatGPT 机器人!
  10. Quartz与Topshelf结合实现window定时服务