卧薪尝胆,厚积薄发。
IOI2014 holiday假期
Date: Fri Mar 01 21:52:07 CST 2019
In Category:
NoCategory
Description:
给出一个序列,每个位置有权值
$a_i$
,开始你在第
$s$
个位置。现在你一共可以行动
$t$
秒,每秒可以移动到两侧的位置,或取走当前位置的权值,每个位置的权只能被取走一次,位置可以被多次访问,最大化取得的权值和。
$1\leqslant n\leqslant 10^5$
Solution:
首先很容易看出最后一定是先向左走一段,然后再向右走一段,设
$fl[x]$
表示先向左再折返走
$x$
秒的最优解,
$pl[x]$
是位置,
$fr[y],pr[y]$
同理,
$gl[x],ql[x]$
是只向左走,但是最后回到原点,
$gr[y],qr[y]$
同理,那么我们的答案就是:
$$
ans=\max_{i=1}^n(\max(gl[x]+fr[y],gr[y]+fl[x]))
$$
四个的求法都类似,现在只考虑求
$fl[x]$
,有一个很重要的单调性是
$pl[x+1]\leqslant pl[x]$
,这个如果用反证法比较容易理解,那么我们就可以用一个类似分治优化决策单调性
$DP$
的方式:设
$solve(l,r)$
表示当前要解决的左端点在
$[l,r]$
,
In tag:
数据结构-主席树 DP-决策单调性DP
Copyright © 2020
wjh15101051
ღゝ◡╹)ノ♡