题解:P17205 「DLESS-6」Tnemerced Tnemercni
EndCentury · · 题解
一些补充。
原始问题是求
求其拉格朗日函数,得到:
如何理解呢?可以将
对于线性规划问题,若固定
为了进一步求解,作变形如下:
发现这个函数仍然是线性规划问题的形式(但是是关于
但是,注意到
可得其对偶问题即:
直接 DP 可能会退化到
需要利用自身的性质,考虑到无需照顾
这样就可以
:::info[Code]
#include "common.h"
const int N=2e5+1,K=2001;
const ll INF=1e18;
int n,k;
int l[N],r[N];
ll f[2][K],ans;
int main()
{
read(n);read(k);
for(int i=1;i<=n;i++)read(l[i]),read(r[i]);
for(int i=1;i<=n;i++)
{
for(int j=0;j<=k;j++)
for(int cur=-1;cur<=1;cur++)
if(j+cur<=k)
{
int g=max(0,j+cur);
f[1][g]=max(f[1][g],f[0][j]+max(l[i]*cur,r[i]*cur));
if(i==n)ans=max(ans,f[1][g]);
}
for(int j=0;j<=k;j++)f[0][j]=f[1][j],f[1][j]=-INF;
}
writel(ans,'\n');
return 0;
}
:::