设为首页 加入收藏

TOP

Codeforces 13C Sequence dp
2015-07-24 05:51:20 来源: 作者: 【 】 浏览:4
Tags:Codeforces 13C Sequence

?

题意:

给定n长的序列

每次操作可以给每个数++或--

问最少需要几步操作使得序列变为非递减序列

?

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
        #include
        
          #include
         
           #include
          
            #include
           
             #include
            
              using namespace std; #define N 5005 #define ll __int64 inline ll Abs(ll x){return x>0?x:-x;} ll n; ll a[N],b[N], dp[N];//dp[j]为[1-j]为定点的把前i个数变成x序列的花费 int main(){ ll i, j; while(cin>>n){ for(i=1;i<=n;i++)scanf(%I64d,&a[i]), b[i] = a[i]; sort(b+1,b+1+n); memset(dp, 0, sizeof dp); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { dp[j]+=Abs(a[i]-b[j]); if(j>1) dp[j] = min(dp[j-1], dp[j]); } } cout<
             
              

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇uva 10593 - Kites(dp) 下一篇Permutations

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: