BZOJ 1592 DP
来源:互联网 发布:中国医科大学网络教育 编辑:程序博客网 时间:2024/06/11 22:20
思路:f[i][j]表示前i个数 最后一个数是原数列的第j个的 最小值
//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,a[2222],cpy[2222],minn[2222],f[2222][2222],temp[2222],ans=0x7fffffff;void work(){ memset(f,0x3f,sizeof(f)); memset(minn,0,sizeof(minn)); for(int i=1;i<=n;i++){ memset(temp,0x3f,sizeof(temp)); for(int j=1;j<=n;j++){ f[i][j]=min(minn[j]+abs(cpy[j]-a[i]),f[i][j]); if(j==1)temp[j]=f[i][j]; else temp[j]=min(temp[j-1],f[i][j]); } for(int j=1;j<=n;j++)minn[j]=temp[j]; } for(int i=1;i<=n;i++)ans=min(ans,f[n][i]);}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]),cpy[i]=a[i]; sort(cpy+1,cpy+1+n); work(),reverse(a+1,a+1+n),work(); printf("%d\n",ans);}
0 0
- BZOJ 1592 DP
- bzoj 1592 dp
- bzoj 3864 dp套dp
- BZOJ 1087 状压DP
- BZOJ 1207 DP
- BZOJ 2152 (树形DP)
- BZOJ 3791 作业 DP
- BZOJ 4352 预处理 + DP
- bzoj 3037(树形DP)
- bzoj 1003(spfa+dp)
- BZOJ 1003 SPFA + DP
- [DP] BZOJ 4247 挂饰
- bzoj 4027 树形dp
- bzoj 3573(树形DP)
- bzoj 1021 dp
- bzoj 4347 dp
- bzoj 4380 dp
- bzoj 4254 树形dp
- 有关6.0权限应用启动一次性设置问题
- 浅谈网络地址转换(NAT)技术与内网、外网
- Seasar2入门(一)
- 使用css设置的style.width ,alert(div.style.width);打印为空
- nyoj 会场安排问题
- BZOJ 1592 DP
- 由angularjs 引发的spring mvc JSON传值问题
- 个人所得税
- 局部变量和成员变量
- java中static修饰成员方法
- NGINX下的目录跳转
- 第十周-回文数
- Redis简单入门四——对List操作
- Oracle+Ogg 归档丢失 重新导数据建立ogg同步步骤