P3648 - 序列分割 题解

NOI 班做出的第二道题目,祭之。


Portal

我们考虑任意一个裂缝序列,它能获得的最大总得分是多少。注意到 \(\sum a_i\sum a_j=\sum\sum a_ia_j\),于是我们可以算每一对数是否对答案有贡献。然后稍微比比划划就可以发现,\(i,j\) 对答案有贡献当且仅当它们不在同一块里。此时显然有,总得分唯一。

于是转化为求最小的各块和平方和,然后用 \((\sum a_i)^2\) 减去它。这个应该异常好 DP,式子列出来之后斜率优化就可以了,非常经典。其中纵坐标之差为 \(0\) 的情况要特判一下。放个草稿看一下吧。

code

(不知道这么水的题我还写个锤子的题解?下次再写水题题解我是狗好吧)

posted @ 2020-11-20 22:01  ycx060617  阅读(88)  评论(0编辑  收藏  举报