[kuangbin带你飞]专题十二 基础DP1 S POJ 3666
来源:互联网 发布:人工智能电影我看哭了 编辑:程序博客网 时间:2024/06/03 21:02
题目地址:https://vjudge.net/contest/68966#problem/S
思路:经典DP。转移方程如下,然后dp直接存当前位置的最小值,省去了找k的过程。话说貌似abs不能对long long使用?
dp[i][j] = min(dp[i – 1][k]) + |A[i] – B[j]| (k = 0…j)
AC代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=2000+10;long long a[maxn];long long b[maxn];int n;long long dp[maxn][maxn];bool cmp1(long long a,long long b){ return a<b;}bool cmp2(long long a,long long b){ return a>b;}int main(){ while(~scanf("%d",&n)) { for(int i=1;i<=n;i++) { scanf("%I64d",&a[i]); b[i]=a[i]; } sort(b+1,b+1+n,cmp1); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { long long temp1=a[i]-b[1]; if(temp1<0) temp1=-temp1; dp[i][1]=dp[i-1][1]+temp1; for(int j=2;j<=n;j++) { long long temp=(a[i]-b[j]); if(temp<0) temp=-temp; dp[i][j]=min(dp[i][j-1],dp[i-1][j]+temp); } } long long ans=0x3f3f3f3f; ans=dp[n][n]; sort(b+1,b+1+n,cmp2); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { long long temp1=a[i]-b[1]; if(temp1<0) temp1=-temp1; dp[i][1]=dp[i-1][1]+temp1; for(int j=2;j<=n;j++) { long long temp=(a[i]-b[j]); if(temp<0) temp=-temp; dp[i][j]=min(dp[i][j-1],dp[i-1][j]+temp); } } ans=min(ans,dp[n][n]); printf("%I64d\n",ans); }}
0 0
- [kuangbin带你飞]专题十二 基础DP1 S POJ 3666
- 【 题集 】 【kuangbin带你飞】专题十二 基础DP1
- kuangbin带你飞 专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1 O POJ3186
- [kuangbin带你飞]专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1 -B
- [kuangbin带你飞]专题十二 基础DP1 C
- [kuangbin带你飞]专题十二 基础dp1
- [kuangbin带你飞]专题十二 基础DP1
- [kuangbin带你飞]专题十二 基础DP1 L POJ 1458
- [kuangbin带你飞]专题十二 基础DP1 N POJ 2533
- [kuangbin带你飞]专题十二 基础DP1 R POJ 3616
- [kuangbin带你飞]专题十二 基础DP1 G - 免费馅饼(HDU 1176)
- [kuangbin带你飞]专题十二 基础DP1 G - 免费馅饼
- [kuangbin带你飞]专题十二 基础DP1 I - 最少拦截系统
- [kuangbin带你飞]专题十二 基础DP1 B - Ignatius and the Princess IV
- [kuangbin带你飞]专题十二 基础DP1 A HDU 1024
- 深度图像与点云区别
- 二维数组 作为函数参数
- React官方文档--Forms
- A Beginner's Guide To Understanding Convolutional Neural Networks Part 2
- 两种方法安装TestNG Eclipse插件
- [kuangbin带你飞]专题十二 基础DP1 S POJ 3666
- Android---实时判断APP网络
- with(nolock)的用法
- Android Service完全解析,关于服务你所需知道的一切(上)
- 【hihocoder】机会渺茫(map,离散化,概率计算,gcd)
- 崩溃捕获并上报服务器
- 译密码程序
- Visual Studio 2015,Angular2进行开发快速入门
- iOS 10权限设置