博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1494 二维dp表示到i段还有j个能量槽
阅读量:6633 次
发布时间:2019-06-25

本文共 1158 字,大约阅读时间需要 3 分钟。

1 #include
2 #include
3 #include
4 using namespace std; 5 int a[10005],b[10005]; 6 int dp[10005][20]; 7 int main() 8 { 9 int n,k,i,j,cnt;10 while(~scanf("%d%d",&n,&k))11 {12 for (i=1;i<=n;i++) scanf("%d",&a[i]);13 for (i=1;i<=n;i++) scanf("%d",&b[i]);14 cnt=n;15 for (j=2;j<=k;j++)16 for (i=1;i<=n;i++)17 {18 cnt++;19 a[cnt]=a[cnt-n];20 b[cnt]=b[cnt-n];21 }22 n=cnt;23 for (i=0;i<=n;i++)24 for (j=0;j<15;j++) dp[i][j]=0x3f3f3f3f;25 dp[0][0]=0;26 for (i=1;i<=n;i++)27 for (j=0;j<15;j++)28 {29 if (j==0) dp[i][j]=dp[i-1][j+5]+b[i];30 else if (j>10) dp[i][j]=dp[i-1][j-1]+a[i];31 else if (j==10) dp[i][j]=min(dp[i-1][j+4]+a[i],dp[i-1][j-1]+a[i]);32 else dp[i][j]=min(dp[i-1][j-1]+a[i],dp[i-1][j+5]+b[i]);33 }34 k=0x3f3f3f3f;35 for (i=0;i<=10;i++)36 if (dp[n][i]

传送门:

转载于:https://www.cnblogs.com/xiao-xin/articles/4077414.html

你可能感兴趣的文章