Brackets POJ - 2955

区间dp

算是经典的区间dp问题

但是我上来写错了,,,唉

我的思路错了,还是要小心啊

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int dp[110][110];
char s[110];
int n;
bool check(char s1,char s2){
    return (s1=='('&&s2==')')||(s1=='['&&s2==']');
}
int main(){
    while (scanf("%s",s+1)){
        if (s[1]=='e')break;
        n = strlen(s+1);
        memset(dp,0,sizeof(dp));
        for (int p=2;p<=n;++p){
            for (int i=1,j=i+p-1;j<=n;++i,++j){
                if (check(s[i],s[j]))dp[i][j]=dp[i+1][j-1]+2;
                for (int k=i;k<j;++k)dp[i][j]=max(dp[i][k]+dp[k+1][j],dp[i][j]);
            }
        }
        printf("%d\n",dp[1][n]);
    }
}
Kuangbin题单详解(区间dp) 文章被收录于专栏

lets go

全部评论

相关推荐

去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
今天 09:08
裁应届生,一分钱补偿没有,离职了还脑控你,跟踪你,定位你,丁东服务是搞系每一个人
牛客吹哨人:建议细说...哨哥晚点统一更新到黑名单:不要重蹈覆辙!25届毁意向毁约裁员黑名单https://www.nowcoder.com/discuss/1317104
叮咚买菜稳定性 8人发布 投递叮咚买菜等公司10个岗位 >
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务