首页 > 代码库 > DP整理
DP整理
1.Likecloud-吃、吃、吃
(做过最水的DP题)
大意:求最优树状路径
Code:
1 #include <iostream> 2 #include <cstdio> 3 #define ll long long 4 using namespace std; 5 const int maxn=210; 6 ll n,m,a[maxn][maxn],f[maxn][maxn]; 7 inline ll max(ll a,ll b) 8 { 9 return a>b?a:b; 10 } 11 inline void read(ll &k) 12 { 13 ll f=1;char c=getchar();k=0; 14 while (c<‘0‘||c>‘9‘)c==‘-‘&&(f=-1),c=getchar(); 15 while (c>=‘0‘&&c<=‘9‘)k=k*10+c-‘0‘,c=getchar(); 16 k*=f; 17 } 18 int main() 19 { 20 read(m);read(n); 21 for (int i=1;i<=m;i++) 22 for (int j=1;j<=n;j++) 23 read(a[i][j]); 24 for (int i=1;i<=n;i++)f[1][i]=a[1][i]; 25 for (int i=2;i<=m;i++) 26 for (int j=1;j<=n;j++) 27 f[i][j]=max(max(f[i-1][j],f[i-1][j-1]),f[i-1][j+1])+a[i][j]; 28 printf("%lld\n",max(max(f[m][n>>1],f[m][(n>>1)+1]),f[m][(n>>1)+2])); 29 }
DP整理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。