如题 听了讲解瞬间写出代码,dp是真难,以后要养成习惯
#include<iostream>
using namespace std
;
int a
[4][1005];
int main(int argc
, char const *argv
[])
{
int n
=1000;
int m
=3;
for(int j
=1;j
<=3;j
++)
for(int i
=1;i
<=n
;i
++)
{
a
[j
][i
]=i
;
}
for(int i
=2;i
<=m
;i
++)
for(int j
=1;j
<=1000;j
++)
{
a
[i
][j
]=1000;
for(int k
=2;k
<=j
;k
++)
a
[i
][j
]=min(a
[i
][j
],max(1+a
[i
][j
-k
],1+a
[i
-1][k
-1]));
}
cout
<<a
[3][1000]<<endl
;
return 0;
}
转载请注明原文地址:https://blackberry.8miu.com/read-2203.html