您的位置:首页 > 其它

poj 1160&1485

2014-07-31 14:56 316 查看
1160就是个dp,转移的时候挺有趣的。

1485就是1160加上讨厌的格式。。。贴代码

<pre class="sh_cpp sh_sourceCode" style="font-size:14px; font-family: 'Courier New', Courier, monospace; background-color: white;"><pre name="code" class="cpp">#include<cstdio>
#include<string>
#include<cmath>
#include<cstdlib>
int cost[305][305],dp[35][305],n,m;
int DP()
{
int tem,i,j,k;
for(i=1;i<=n;i++)
{
dp[1][i]=cost[1][i];
}
for(i=2;i<=m;i++)
for(j=2;j<=n;j++)
{
dp[i][j]=0x7fffffff;
for(k=i-1;k<=j;k++)
if(dp[i][j]>dp[i-1][k]+cost[k+1][j])
dp[i][j]=dp[i-1][k]+cost[k+1][j];
}
return dp[m]
;
}
int main()
{
int i,j,k,s[305];
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&s[i]);
}
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
for(k=i;k<=j;k++)
cost[i][j]+=abs(s[k]-s[(i+j)/2]);
}
printf("%d\n",DP());
return 0;
}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: