P1437 [HNOI2004]敲砖块

传送门

首先发现一点,设第\(j\)列被打掉的砖块个数为\(k\),那么第\(j+1\)列被打掉的砖块个数应该大于等于\(k-1\)

那么记\(dp[j][i][k]\)表示第\(j\)列取了\(i\)个,总共取了\(k\)的最大分数,那么转移就是\(dp[j][i][k]=max(dp[j+1][l][k-i])+\sum_{t=1}^i a[t][j](l\geq i-1)\),维护一下前缀和然后转移便是

//minamoto
#include
#define fp(i,a,b) for(register int i=a,I=b+1;iI;--i)
inline int max(const int &x,const int &y){return x>y?x:y;}
inline int min(const int &x,const int &y){return x

转载于:https://www.cnblogs.com/bztMinamoto/p/10044412.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部