
斜率优化
Rayment_cc
++Rp
展开
-
dp优化学习笔记
ProblemBZOJ斜率优化原谅我之前做斜率优化题的时候都是在瞎bb,这才是靠谱的比如我们有个这样的式子,要求最大化Y=f[i]=A(i)+B(j)+C(i)D(j)Y=f[i]=A(i)+B(j)+C(i)D(j)Y=f[i]=A(i)+B(j)+C(i)D(j)我们可以先忽略A(i)A(i)A(i)则Y=C(i)D(j)+B(j)Y=C(i)D(j)+B(j)Y=C(i)D(j)...原创 2018-10-18 20:55:08 · 278 阅读 · 0 评论 -
BZOJ 2726 SDOI2012 任务安排
ProblemBZOJSolution不难设出一个不怎么样的状态f[i][j]表示前i个分j段的最小代价f[i][j]=min(f[k][j−1]+(S∗j+st[i])∗(sf[i]−sf[k]))f[i][j]=min(f[k][j−1]+(S∗j+st[i])∗(sf[i]−sf[k]))f[i][j]=\min(f[k][j-1]+(S*j+st[i])*(sf[i]-sf...原创 2018-09-13 20:21:31 · 221 阅读 · 0 评论 -
BZOJ 3675 APIO2014序列分割 斜率优化dp
ProblemDescription你正在玩一个关于长度为n的非负整数序列的游戏。这个游戏中你需要把序列分成k+1个非空的块。为了得到k+1块,你需要重复下面的操作k次:选择一个有超过一个元素的块(初始时你只有一块,即整个序列) 选择两个相邻元素把这个块从中间分开,得到两个非空的块。每次操作后你将获得那两个新产生的块的元素和的乘积的分数。你想要最大化最后的总得分。In...原创 2018-01-19 19:44:21 · 340 阅读 · 0 评论 -
BZOJ1492 货币兑换NOI2007
ProblemBZOJSolutionC[i]C[i]C[i]则表示第i天持有的最多的RMB,那么当天持有的最多的金券则分别可以用其表示C[i]=maxj=1i−1(A[j]∗ai+B[j]∗bi)C[i]=\max_{j=1}^{i-1} (A[j]*a_i+B[j]*b_i)C[i]=j=1maxi−1(A[j]∗ai+B[j]∗bi)将C[i]C[i]C[i]中的ai,bi...原创 2018-12-19 22:31:46 · 210 阅读 · 0 评论 -
UOJ223 NOI2016 国王饮水记
ProblemUOJSolution经过 瞎猜 思考可以得到以下性质:所有高度小于首都的水箱肯定不会参与联通。选择联通的水箱必然是从某一个水箱开始的连续的知道选到最高的水箱。因为如果中间有间隔,那么完全可以把前面的水箱舍弃掉最小的,然后换成间隔的较大的。如果要联通多次水箱,必然是先与相对较低的水箱联通,再与相对较高的水箱联通。否则交换顺序更优,可以推推式子证明。kkk 最大取 n−...原创 2019-03-22 18:48:44 · 428 阅读 · 0 评论