ABC E - Active Infants 贪心 dp
LINK:Active Infants
一个快省选的人 还在写ABC(莫名觉得丢人
不过也无所谓了.
首先考虑 随便一个排列 我们考虑一下其是不是最优的 容易发现如果最大值没有在边界上的话我们直接把它放到边界上 显然会更优。
接下来考虑次大值等等。可以发现从大到小排序后 前面的值都是紧贴着边界放的。
如果直接贪心的放的 对于值相同的 我们或许还是可以解决的。
不过考虑一个问题 一个值当前两边都是可以放的 那么放左和放右就会对下一个数字有后效性的影响。
考虑dp 容易发现我们每次放数字都是紧贴着边界放的 所以我们可以用dp来描述这个过程。
f[i][j]表示前i个数放j个数在前面的最大值。
容易发现dp一下刚才的问题就得到解决了。把一些最优的状态集合描述出来了。
对于最优方案来说 我们的dp状态是吻合的。
const ll MAXN=2010;
ll n,ans;
ll f[MAXN][MAXN];
struct wy{ll x,id;}t[MAXN];
inline ll cmp(wy a,wy b){return a.x>b.x;}
signed main()
{
//freopen("1.in","r",stdin);
get(n);
rep(1,n,i)t[i]=(wy){read(),i};
sort(t+1,t+1+n,cmp);
rep(1,n,i)
{
rep(0,i,j)
{
if(j<=i-1)f[i][j]=max(f[i][j],f[i-1][j]+abs(t[i].id-(n-(i-1-j)))*t[i].x);
if(j>=1)f[i][j]=max(f[i][j],f[i-1][j-1]+abs(t[i].id-j)*t[i].x);
}
}
rep(0,n,i)ans=max(ans,f[n][i]);
putl(ans);
return 0;
}
ABC E - Active Infants 贪心 dp的更多相关文章
- 【BZOJ-3174】拯救小矮人 贪心 + DP
3174: [Tjoi2013]拯救小矮人 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 686 Solved: 357[Submit][Status ...
- BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP
BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀 ...
- 洛谷P4823 拯救小矮人 [TJOI2013] 贪心+dp
正解:贪心+dp 解题报告: 传送门! 我以前好像碰到过这题的说,,,有可能是做过类似的题qwq? 首先考虑这种显然是dp?就f[i][j]:决策到了地i个人,跑了j个的最大高度,不断更新j的上限就得 ...
- 【bzoj5073】[Lydsy1710月赛]小A的咒语 后缀数组+倍增RMQ+贪心+dp
题目描述 给出 $A$ 串和 $B$ 串,从 $A$ 串中选出至多 $x$ 个互不重合的段,使得它们按照原顺序拼接后能够得到 $B$ 串.求是否可行.多组数据. $T\le 10$ ,$|A|,|B| ...
- 【bzoj3174】[Tjoi2013]拯救小矮人 贪心+dp
题目描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口.对于每一个小矮人,我们知道他从脚 ...
- hdu 1257 最少拦截系统【贪心 || DP——LIS】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1257 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 贪心+DP【洛谷P4823】 [TJOI2013]拯救小矮人
P4823 [TJOI2013]拯救小矮人 题目描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以 ...
- 贪心+dp
贪心+dp 好多题都是这个思想, 可以说是非常重要了 思想一: 在不确定序列无法dp的情况下, 我们不妨先假设序列已经选定, 而利用贪心使序列达到最优解, 从而先进行贪心排序, 在进行dp选出序列 思 ...
- 【题解】CF1056F Write the Contest(三分+贪心+DP)
[题解]CF1056F Write the Contest(三分+贪心+DP) 最优化问题的三个解决方法都套在一个题里了,真牛逼 最优解应该是怎样的,一定存在一种最优解是先完成了耗时长的任务再干别的( ...
随机推荐
- linux安装phantomjs
一.下载PhantomJS: 从官网http://phantomjs.org/download.html下载linux64位的安装包即 phantomjs-2.1.1-linux-x86_64.ta ...
- Python预测2020高考分数和录取情况可能是这样
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:打磨虾 “迟到”了一个月的高考终于要来了. 正好我得到了一份山东新高 ...
- day63 django入门(4)
目录 一.CBV源码解析 二.模版语法 1 传值 2 过滤器(最多只能传两个参数) 3 标签 4 自定义过滤器,标签,inclusion_tag 4.1 自定义过滤器 4.2 自定义标签(可以传多个参 ...
- 数据可视化实例(十五):有序条形图(matplotlib,pandas)
偏差 (Deviation) 有序条形图 (Ordered Bar Chart) 有序条形图有效地传达了项目的排名顺序. 但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息. https ...
- keras 文本序列的相关api
1.word_tokenizer = Tokenizer(MAX_WORD_NUMS) MAX_WORD_NUMS设置词典的最大值,为一个int型数值 2.word_tokenizer.fit_ ...
- Knn和K-means
先开个标题,以后慢慢填充. k近邻算法(knn)属于监督学习 一. 三个关键点:1.k的取值,当k值较小时,选取点较少,相当于会有在较小的范围内进行学习预测,学习误差会减小,但是估计误差会增大,因为训 ...
- 作为程序员居然没用过这款神器?太out了吧。
背景 工欲善其事,必先利其器.后面我将陆陆续续推荐一些软件利器帮助大家提高效率(主要针对 Mac 电脑). 如果你在使用 Mac 电脑,并且没有如某些人那样安装并使用 Windows 系统,那么你可 ...
- 如何将你写的脚本程序打包成一个exe可执行程序
编写的程序打包成一个exe文件,随时可以双击执行,想想是不是很酷.接下来我们一起看一下如何将自己编写的程序打包为一个exe的可执行程序. 将程序打包成exe的好处 除了满足自己的成就感以外, ...
- ffplay源码编译
ffplay是ffmpeg源码中一个自带的开源播放器组件,支持本地视频文件的播放以及在线流媒体播放,很多商业播放器都是基于ffplay定制而来的.ffplay中的代码充分利用了ffmpeg中的函数库, ...
- Python Ethical Hacking - Persistence(1)
PRESISTENCE Persistence programs start when the system starts. Backdoors -> maintain our access. ...