分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

[BZOJ4709][JSOI2011]柠檬 决策单调性优化dp

发布时间:2023-09-06 01:06责任编辑:胡小海关键词:暂无标签

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4709

我好弱啊QAQ,网上dalao们的题解根本看不懂啊,折腾了几个小时,有一点明白了。

首先要把朴素dp方程退出来。

①题目中说每次从序列的左右选一端取,但是如果你真的照着题目说的这样做我也不知道会怎么样。事实上很明显不管怎么取,最终答案都只跟划分出的是哪几个区间有关。所以不妨从左端开始取。

②如果取一个区间,区间第一个贝壳的大小和最后一个贝壳的大小不一样,那么很明显可以去掉第一个或最后一个贝壳,把他们加入另一个区间贡献答案,而这一次选取的区间本身答案不会变。于是我们每次取一段区间都可以贪心地来取,使得第一个贝壳和最后一个贝壳大小一定相同。

有了这两个准则方程很容易就出来了$$f[i]=max\{f[j-1]+a[i]*(s[i]-s[j]+1)^2\}$$

其中$s[i]$表示直到第$i$个数$a[i]$出现的次数

未完待续……

[BZOJ4709][JSOI2011]柠檬 决策单调性优化dp

原文地址:http://www.cnblogs.com/halfrot/p/7440794.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved