【BZOJ3892】【Usaco2014 Dec】Marathon (Silver and Bronze)

广告#include <stdio.h>int main(){puts(“转载请注明出处[vmurder]谢谢”);puts(“网址:blog.csdn.net/vmurder/article/details/43970671”);}题解——Silver

f[i][j]表示到第i个跳过了j个的最小值 然后暴力从前转移。 它的时间复杂度是1.25亿,,但是常数远远远远小于1

——Bronze

跟银组的一样,只不过改改数组大小,然后m直接赋值1就好了。

银组代码:;long long n,m;long long f[N][N],x[N],y[N];int main(){freopen(“test.in”,”r”,stdin);cin>>n>>m;int i,j,k;for(i=1;i<=n;i++)cin>>x[i]>>y[i];memset(f,0x3f,sizeof f);f[1][0]=0;for(i=2;i<=n;i++){for(j=0;j<i-1&&j<=m;j++){for(k=i-1;i-k-1<=j&&k;k–){f[i][j]=min(f[i][j],f[k][j-(i-k-1)]+abs(x[i]-x[k])+abs(y[i]-y[k]));}}}long long ans=INF;for(i=0;i<=m;i++)ans=min(ans,f[n][m]);cout<<ans<<endl;return 0;}

最困难之时,就是我们离成功不远之日。

【BZOJ3892】【Usaco2014 Dec】Marathon (Silver and Bronze)

相关文章:

你感兴趣的文章:

标签云: